将SQL转换为LINQ转换为XML

时间:2010-04-16 21:47:29

标签: c# sql linq linq-to-sql

我正在编写以下代码以将SQL转换为LINQ,然后转换为XML:

SqlConnection thisConnection = new SqlConnection(@"Data Source=3BDALLAH-PC;Initial Catalog=XMLC;Integrated Security=True;Pooling=False;");
thisConnection.Open();

XElement eventsGive =
    new XElement("data",
        from c in ?????? 
        select new XElement("event",
            new XAttribute("start", c.start),
            new XAttribute("end",c.eend),
            new XAttribute("title",c.title),
            new XAttribute("Color",c.Color),
            new XAttribute("link",c.link)));

Console.WriteLine(eventsGive);

表的名称是“XMLC”,我想引用它。我怎样才能做到这一点? 当我直接把它的名字VS给出一个错误。此外,当我说thisConnection.XMLC它不起作用时。

1 个答案:

答案 0 :(得分:1)

听起来你想使用Linq-to-Sql。在这种情况下,您需要创建数据上下文。有很多关于此的教程。

但是,您不需要使用linq to sql。您的来源可以是任何可枚举的。 DataReader,例如:

using (DbDataReader rdr = cmd.ExecuteReader()) {


    from c in rdr.Cast<DbDataRecord>() 
    select new XElement("event",
        new XAttribute("start", c["start"]),
        new XAttribute("end",c["eend"]),
        new XAttribute("title",c["title"]),
        new XAttribute("Color",c["Color"]),
        new XAttribute("link",c["link"])));

}