Linq也就是Language Integrated Query的缩写,即语言集成查询,是微软在.Net 3.5中提出的一项新技术, Linq主要包含4个组件——Linq to Objects、Linq to XML、Linq to DataSet 和Linq to SQL。在这里不会具体介绍这4个组件的内容,只会给出一个大致的介绍, 下面先看看Linq的一个架构图,希望可以让大家可以对Linq有一个全面的认识:
语言集成查询(LINQ)是.Net 3.5和Visual Studio 2008引入的功能强大的查询语言。LINQ可与C#或Visual Basic一起使用,以查询不同的数据源。
LINQ教程将使用从基础到高级的主题来帮助您学习LINQ语言。这些教程分为一系列相关主题,因此您从一个必须首先理解的主题开始,然后逐步地逐步学习LINQ的其他功能。LINQ教程包含了易于理解的解释,实际示例,有用的技巧,信息性注释和要记住的要点。
这些教程是为想要逐步学习LINQ的初学者和专业人士而设计的。
基础条件
必须具备.Net Framework3.5 / 4.5,C#和Visual Studio的基本知识。
LINQ 入门学习
LINQ(语言集成查询)是C#和VB.NET中的统一查询语法,用于从不同的源和格式检索数据。它集成在C#或VB中,从而消除了编程语言和数据库之间的不匹配,并为不同类型的数据源提供了单个查询接口。
例如,SQL是一种结构化查询语言,用于保存和检索数据库中的数据。同样,LINQ是C#和VB.NET中内置的结构化查询语法,用于从不同类型的数据源(例如集合,ADO.Net DataSet,XML Docs,Web服务和MS SQL Server和其他数据库)中检索数据。
LINQ查询将结果作为对象返回。它使您可以在结果集上使用面向对象的方法,而不必担心将不同格式的结果转换为对象。
下面的示例演示一个简单的LINQ查询,该查询从包含“ a”的数组中获取所有字符串。
示例:LINQ查询到数组
// 数据源
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查询后,必须执行它才能获得结果。