LINQtoSQL的Table剖析

在向大家详细介绍LINQ to SQL Table之前,首先让大家了解下LINQ的4大组件,包括介绍复合式LINQ。

创新互联建站是专业的潜山网站建设公司,潜山接单;提供网站建设、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行潜山网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

LINQ(Language-Integrated Query,语言集成查询),是随.Net Framework3.5发布的微软的一项新技术。她的查询操作可以通过编程语言自身来传达,而不是像以往的查询那样通过字符串嵌入到应用程序代码中。

LINQ包含4大组件,也就是她的4大功能了:

1、LINQ to Objects 处理对象、集合数据即我们可以在程序中通过类试与,像我们在数据库中通过SQL语句来对Table进 行查询的方式一样,来查询我们的对象或集合;

2、LINQ to SQL 关系数据查询即对数据库的查询基本可以实现和ADO一样的功能,但与其相比操作更加简单,过程更加集中,尤其对数据表或对象进行查询时,可以说有在数据库中操作的感觉;

3、LINQ to DataSet 查询DataSet对象数据 她针对任何形式的数据源都提供了统一的查询方式,统一的语法,所以针对DataSet也是一样,是我们可以非常方便的操作DataSet;

4、LINQ to XML 针对XML形式的数据,LINQ给出了更为简便的查询,使我们操作XML可以像操作Table一样得心应手。

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. var p = from s1 in doc.Elements("tables").Elements("table").Descendants("row")
  6. join s2 in db.Customers on s1.Element("CUSTOMER_ID").Value equals s2.CustomerID
  7. where s1.Parent.Attribute("name") != null &&
  8. s1.Parent.Attribute("name").Value == "Orders"
  9. select new XElement("Order", s1.Nodes(), new XElement("CompanyName",s2.CompanyName));
  10. foreach (var item in p)
  11. {
  12. foreach (var item3 in item.Elements())
  13. {
  14. Console.WriteLine("{0} : {1}", item3.Name, item3.Value);
  15. Console.WriteLine("--------------------");
  16. }
  17. }
  18. Console.ReadLine();
  19. }

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

文章名称:LINQtoSQL的Table剖析
路径分享:http://www.shufengxianlan.com/qtweb/news31/133681.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联