📅  最后修改于: 2021-01-06 05:05:24             🧑  作者: Mango
在这里,我们将学习LINQ的介绍,C#/ asp.net中的LINQ,为什么在C#/ asp.net中使用LINQ,LINQ体系结构,LINQ的优缺点。
LINQ的完整形式是“语言集成查询”,它是.NET Framework 3.5中引入的,用于查询来自不同数据源的数据,这些数据源包括:集合,泛型,XML文档,ADO.NET数据集,SQL,Web Services等。 C#和VB.NET。 LINQ使用.NET编程语言(例如C#和VB.NET)提供了丰富的标准化查询语法,这使开发人员可以与任何数据源进行交互。
在C#或VB.NET中,可以通过在应用程序中导入System.Linq命名空间来实现LINQ功能。通常,LINQ包含一组扩展方法,这些扩展方法使我们可以根据需要直接在我们的代码中查询数据对象的源。
这就是LINQ的体系结构,因为我们知道我们可以在.NET中开发应用程序。同样,LINQ编程可以返回任何上述.NET编程语言。在实际的LINQ查询和基础数据源之间,还存在另一个组件LINQProvider 。
提供者
LINQ提供程序的职责是将LINQ查询转换为一种格式,以便数据源可以理解它。
示例:在这里,我们将采取一个方案,假设应用程序要从SQL数据库中获取数据。在这种情况下,LINQ查询将适合LINQ to SQL Provider 。在这种情况下,它将把LINQ查询转换为T-SQL,以便底层数据库可以以相同的方式理解是否需要从XML文档中获取数据。在这种情况下,我们也将使用相同的LINQ查询,即LINQ to XML Provider。 XML提供程序会将LINQ查询转换为XLST,以便XMLDataSource可以理解。
LINQ对象
正如我们在上图中所提到的,在C#和VB.NET中我们有不同类型的LINQ对象。
LINQ比SQL更为简单,有序,并且层次更高。当我们要使用查询数据库时,在大多数情况下,LINQ是比SQL更高效的查询语言。
另外,由于LINQ查询是在代码后面编写的,因此我们具有IntelliSense的优势。 LINQ在编译时具有完整类型检查,因此我们可以在编译时本身捕获任何错误。在C#或VB.Net中用LINQ编写查询更加有趣。
在这里,我们以开发.NET应用程序为例,该应用程序需要来自不同数据源的数据。
LINQ提供了统一编程模型(即,熟悉的查询语法)。它使我们能够通过使用标准或统一的编码样式来处理不同的数据源。因此,我们不需要学习不同的语法来查询各种数据源。
LINQ也有一些优点和缺点:
在我们的应用程序中,LINQ的优点是:
LINQ的缺点是: