首页 / 软件开发 / LINQ / LINQ To SQL深入学习系列之四 LINQ查询基础
LINQ To SQL深入学习系列之四 LINQ查询基础2011-10-15 博客园 Lance.Liang本文部分内容整理自msdn一、LINQ的概念:LINQ是Language Integrated Query(语言集成查询)的简称,它是集成在.NET编程语言中的一种特性 ,这使得查询表达式可以得到很好的编译时语法检查,丰富的元数据,智能感知等强类型语言的好处LINQ 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间 架起了一座桥梁。二、LINQ出现的背景:传统上,针对数据的查询都是以简单的字符串表示,而没有编译时类型检查或 IntelliSense 支持。 此外,您还必须针对以下各种数据源学习不同的查询语言:SQL 数据库、XML 文档、各种 Web 服务等。 LINQ 使查询成为 C# 和 Visual Basic 中的一等语言构造。您可以使用语言关键字和熟悉的运算符针对 强类型化对象集合编写查询。在 Visual Studio 中,可以用 Visual Basic 或 C# 为以下各种数据源编 写 LINQ 查询:SQL Server 数据库、XML 文档、ADO.NET 数据集以及支持 IEnumerable 或泛型 IEnumerable<T>) 接口的任意对象集合。此外,还计划了对 ADO.NET Entity Framework 的 LINQ 支持,并且第三方为许多 Web 服务和其他数据库实现编写了 LINQ 提供程序。三、查询表达式解析:查询解析实例int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };//获取数据源。
var lowNums = from n in numbers
where n < 5
select n; //创建查询。
Console.WriteLine("Numbers < 5:");
foreach (var x in lowNums) //执行查询
{
Console.WriteLine(x);
}
结果为:Numbers < 5:
4
1
3
2
0
在语义上等同于以下方法风格的查询 var lowNums = numbers
.Where(s => s < 5)
.OrderBy(s => s)
.Select(s => s);