Welcome

首页 / 软件开发 / LINQ / LINQ查询表达式基础描述

LINQ查询表达式基础描述2011-08-07本文向大家介绍LINQ查询表达式,可能好多人还不了解LINQ查询表达式,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

LINQ使查询成为了.NET中头等的编程概念,被查询的数据可以是XML(LINQ to XML)、Databases(LINQ to SQL、LINQ to Dataset、LINQ to Entities)和对象(LINQ to Objects)。LINQ也是可扩展的,允许你建立自定义的LINQ数据提供者(比如:LINQ to Amazon、LINQ to NHibernate、LINQ to LDAP)。在这里我会讨论C#3.0中的一些新的语言特性和改进,正是它们使得LINQ变得如此强大~~

LINQ查询表达式提供了一个语言集成的语法来查询,它特别像关系和层次查询语言比如SQL和XQuery。使用LINQ操作符(也就是 from...where...select)写查询很方便,Visual Studio为它提供了很好的智能感知和编译时的检查支持。当C#编译器遇到了一个LINQ查询表达式时,实际上它会被转化为使用扩展方法和Lambda 表达式的方法调用。

我们举一个例子来解释这个:

var result = from c in
Customers

where c.City.StartsWith("B")

orderby c.LastName

select new{ c.FirstName, c.LastName, c.Address };

//上面的代码等价于:

var result = Customers.Where( c =
>
c.City.StartsWith("B") ).
OrderBy( c =
>
c.LastName).
Select( c =
>
new{ .FirstName,c.LastName, c.Address } );

使用查询语法的好处还有它会使代码更简单更易读。同时注意,LINQ查询表达式以from 开头,以select 或者group 结尾。