複合式 LINQ.

 

近日開始寫有關於LINQ的文章,

正巧寫到Linq To SQL,由於探索LINQ的核心概念所致,

腦中突現一個想法,"我是否可以將LINQ to SQL用的Table與LINQ to XML的XElement join起來?"

理論上,在LINQ的設計概念中,這是可行的.

static void TestCrossLinq()
{
            NORTHWND db = new NORTHWND("Data Source=.//SQLEXPRESS;Initial Catalog=NORTHWND;Integrated Security=True");
            XDocument doc = XDocument.Load("XMLFile1.xml");


            var p = from s1 in doc.Elements("tables").Elements("table").Descendants("row")
                    join s2 in db.Customers on s1.Element("CUSTOMER_ID").Value equals s2.CustomerID
                    where s1.Parent.Attribute("name") != null &&
                          s1.Parent.Attribute("name").Value == "Orders"
                    select new XElement("Order", s1.Nodes(), new XElement("CompanyName",s2.CompanyName));
            foreach (var item in p)
            {
                foreach (var item3 in item.Elements())
                {
                    Console.WriteLine("{0} : {1}", item3.Name, item3.Value);
                    Console.WriteLine("--------------------");
                }
            }
            Console.ReadLine();
 }

 

此程式由XML中讀出Order資訊,以其CUSTOMER_ID Element中的資料來與Linq To SQL中的Table : Customers join,取出CompanyName欄位放入結果集.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值