LINQ to SQL Table与LINQ to XML的XElement是否可以join起来

这篇文章主要介绍了LINQ to SQL Table与LINQ to XML的XElement是否可以join起来,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

写到Linq To SQL,由于探索LINQ的核心概念所致,脑中突现一个想法,"我是否可以将LINQ to SQL Table与LINQ to XML的XElement join起来?"

理论上,在LINQ的设计概念中,这是可行的.

  1. static void TestCrossLinq()  

  2. {  

  3. NORTHWND db = new NORTHWND("Data Source=.\\SQLEXPRESS;
    Initial Catalog=NORTHWND;Integrated Security=True");  

  4. XDocument doc = XDocument.Load("XMLFile1.xml");  

  5.  

  6.  

  7. var p = from s1 in doc.Elements("tables").Elements("table").
    Descendants("row")  

  8. join s2 in db.Customers on s1.Element("CUSTOMER_ID").
    Value equals s2.CustomerID  

  9. where s1.Parent.Attribute("name") != null &&  

  10. s1.Parent.Attribute("name").Value == "Orders"  

  11. select new XElement("Order", s1.Nodes(), 
    new XElement("CompanyName",s2.CompanyName));  

  12. foreach (var item in p)  

  13. {  

  14. foreach (var item3 in item.Elements())  

  15. {  

  16. Console.WriteLine("{0} : {1}", item3.Name, item3.Value);  

  17. Console.WriteLine("--------------------");  

  18. }  

  19. }  

  20. Console.ReadLine();  

此程式由XML中读出Order资讯,以其CUSTOMER_ID Element中的资料来与Linq To SQL Table : Customers join,取出CompanyName栏位放入结果集.

感谢你能够认真阅读完这篇文章,希望小编分享的“LINQ to SQL Table与LINQ to XML的XElement是否可以join起来”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,更多相关知识等着你来学习!