LINQ to XML 结合 LINQ to SQL 使用

在是用LINQ的时候可以把多个数据源混合。

下面是用LINQ to SQL 查询 Northwind数据库中的表结果再把提取的结果转换成XML文档。

建立一个Northwind.dbml 详细可以看LINQ to SQL

image

从服务器资源管理器拖动两个表到设计器中,设计器结果如下,并自动建立关联

image

代码如下:

 

public void MyLingSqlAndXml()

{



    NorthwindDataContext dc = new NorthwindDataContext();



    XElement xe = new XElement("Customers", //根元素

        from c in dc.Customers  //查询数据库的结果

        select new XElement("Customer", //建立新的XML元素

            new XElement("CustomerId", c.CustomerID), //元素的每一条子元素

            new XElement("CompanyName", c.CompanyName),

            new XElement("Country", c.Country),

            new XElement("OrderNum", c.Orders.Count))

            );



    xe.Save(@"C:\myCustomers.xml");

    Response.Write("File created");

}

 

 

 

运行以上代码,会在C盘根目录生成一个XML文件,部分内容如下:

 

<?xml version="1.0" encoding="utf-8"?>

<Customers>

  <Customer>

    <CustomerId>ALFKI</CustomerId>

    <CompanyName>Alfreds Futterkiste</CompanyName>

    <Country>Germany</Country>

    <OrderNum>6</OrderNum>

  </Customer>

  <Customer>

    <CustomerId>ANATR</CustomerId>

    <CompanyName>Ana Trujillo Emparedados y helados</CompanyName>

    <Country>Mexico</Country>

    <OrderNum>4</OrderNum>

  </Customer>

  <Customer>

    <CustomerId>ANTON</CustomerId>

    <CompanyName>Antonio Moreno Taquería</CompanyName>

    <Country>Mexico</Country>

    <OrderNum>7</OrderNum>

  </Customer>

你可能感兴趣的:(LINQ)