什么是语言集成查询(Language Integrated Query)?

语言集成查询(LINQ)提供了将声明性查询语法无缝集成到命令式语言中的能力,主要是C#和VB.NET。LINQ的开发解决了开发人员在面向对象环境中执行查询时遇到的问题。它作为Microsoft®.NET Framework 3.5版的一部分于2007年1...
语言集成查询(LINQ)提供了将声明性查询语法无缝集成到命令式语言中的能力,主要是C#和VB.NET。LINQ的开发解决了开发人员在面向对象环境中执行查询时遇到的问题。它作为Microsoft®.NET Framework 3.5版的一部分于2007年11月推出,在Visual Studio®的代号“Orcas”中,在创建语言集成查询之前,.NET语言没有查询关系数据库或XML文档的本机方法。使用这些语言编写的开发人员必须将SQL或XQuery分别作为字符串嵌入,并手动将结果数据映射到.NET对象。嵌入的查询字符串和映射无法由.NET编译器验证,允许在运行时发现潜在的错误。在语言集成查询之前,开发人员面临的另一个问题是.NET语言只有面向对象的语法来查询.NET对象的集合。通常,开发人员会迭代整个源集合,根据搜索条件生成新的结果集合。开发人员还可以在生成结果集合的同时转换数据。这种方法很麻烦;用C或VB编写的简单的select查询至少需要五行代码,而同一个查询将需要一行查询语言的代码。在面向对象环境中进行查询的挑战给了Microsoft创建LINQ的动力。LINQ提供了一种类似SQL的查询语法,可以与C或VB一起使用,并完成静态类型检查。而在查询.NET集合时,则是这样通过使用嵌套循环,开发人员可以使用LINQ语法来选择项目和转换数据,与纯面向对象的语法相比,这将导致更少的代码行当访问外部数据源时,LINQ和支持组件消除了在.NET语言本身中嵌入查询语言和数据映射的需要,LINQ依赖于名为LINQ providers的组件。LINQ to Objects是一种支持LINQ访问.NET集合的常用提供程序。同样,也有访问关系数据库和XML文档的提供程序。这些提供程序中的大多数都是.NET Framework中未包含的第三方组件。无论使用的是哪种提供程序,所有查询都使用相同的LINQ语法。在语言集成查询语法和提供程序之间,是作为LINQ功能的一部分添加到.NET Framework中的查询运算符库。这些运算符执行诸如筛选、排序、集合论操作等任务,由于这些运算符是.NET框架的一部分,因此如果开发人员愿意,也可以不使用LINQ
  • 发表于 2020-08-07 19:21
  • 阅读 ( 824 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具