语言集成查询(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 )
- 分类:电脑网络