本文向大家介绍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 结尾。
【编辑推荐】