LINQ(语言集成查询)是C#和VB.NET中的统一查询语法,用于从不同的源和格式检索数据。它集成在C#或VB中,从而消除了编程语言和数据库之间的不匹配,并为不同类型的数据源提供了单个查询接口。
例如,SQL是一种结构化查询语言,用于保存和检索数据库中的数据。同样,LINQ是C#和VB.NET中内置的结构化查询语法,用于从不同类型的数据源(例如集合,ADO.Net DataSet,XML Docs,Web服务和MS SQL Server和其他数据库)中检索数据。
LINQ查询将结果作为对象返回。它使您可以在结果集上使用面向对象的方法,而不必担心将不同格式的结果转换为对象。
下面的示例演示一个简单的LINQ查询,该查询从包含“ a”的数组中获取所有字符串。
// 数据源 string[] names = {"Bill", "Steve", "James", "Mohan" }; // LINQ查询 var myLinqQuery = from name in names where name.Contains('a') select name; // 查询执行 foreach(var name in myLinqQuery) Console.Write(name + " ");
在上面的示例中,字符串数组名称是一个数据源。以下是分配给变量 myLinqQuery 的LINQ查询。
from name in names where name.Contains('a') select name;
上面的查询使用LINQ的查询语法。您将在“查询语法”一章中了解更多信息。
在执行LINQ查询之前,您不会得到它的结果。LINQ查询可以以多种方式执行,这里我们使用foreach循环来执行存储在myLinqQuery中的查询。foreach循环对数据源执行查询并获得结果,然后在结果集上迭代。
因此,每个LINQ查询都必须查询某种数据源,无论它可以是数组,集合,XML还是其他数据库。编写LINQ查询后,必须执行它才能获得结果。
在下一章中了解为什么要使用LINQ。