随笔 - 705  文章 - 0  评论 - 1103  阅读 - 138万 

在是用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>
posted on   冯瑞涛  阅读(644)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示