LINQ查询表达式基础描述

本文向大家介绍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 结尾。

时间: 2024-09-19 08:53:58

LINQ查询表达式基础描述的相关文章

从查询表达式开始认识LINQ

学习和使用C#已经有2个月了,在这两个月的学习中,深刻体会到,C#这门语言还真不适合编程初学者学习 ,因为它是吸取了很多其他语言,不仅是面向对象,还包括函数式语言的很多特性,导致它变成特性大爆炸的 语言.它的许多方面单独拿出来讲,就得是一本书的规模,而且还不一定让人一下子明白. LINQ,Language INtegrated Query,语言集成查询,是其中一个非常重要的部分,有关它的功能增强, 贯穿了整个C#的发展. 先从基本的查询表达式下手. 在讲查询表达式前,我们必须明白:查询 表达式不

Linq系列:基础与本质(Part I)

之前写过一些C#3.x新的特性.请参考:C#3.x特性,我们知道这些新的特性基本都是为实现LINQ服务的,在平常的编程中也可以有选择的合 理应用,也会有效提高编码效率,实现可读性比较强的简洁代码.在认识这些特性的基础上,理解认识LINQ将变得简单了. 1 LINQ简介: LINQ 查询表达式(query expressions )可以使用统一的方式对实现IEnumberable<T>接口的对象.关系数据库.数据集(Datasets )以及XML文档进行访问. 严格的说,LINQ是用来描述一系列

.NET深入解析LINQ框架(六:LINQ执行表达式)

阅读目录: 1.LINQ执行表达式 在看本篇文章之前我假设您已经具备我之前分析的一些原理知识,因为这章所要讲的内容是建立在之前的一系列知识点之上的,为了保证您的阅读顺利建议您先阅读本人的LINQ系列文章的前几篇或者您已经具备比较深入的LINQ原理知识体系,防止耽误您的宝贵时间. 到目前为止我们对LINQ的执行原理已经很清楚了,从它的前期构想到它真正为我们所用都有足够的证据,但是似乎问题并没有我们想的那么简单,问题总是在我们使用中频频出现尤其是新技术的使用,当然有问题才能有进步. 一:LINQ执行

.Net开发必备十大工具详解之查询表达式(LINQ)

LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知.静态类型等强类型语言的好处.并且它同时还使得查询可以方便地对内存中的信息进行查询而不仅仅只是外部数据源. LINQ定义了一组标准查询操作符用于在所有基于.NET平台的编程语言中更加直接地声明跨越.过滤和投射操作的统一方式,标准查询操作符允许查询作用于所有基于IEnumerable<T>接口的源

LINQ To SQL深入学习系列之四 LINQ查询基础

本文部分内容整理自msdn 一.LINQ的概念: LINQ是Language Integrated Query(语言集成查询)的简称,它是集成在.NET编程语言中的一种特性 ,这使得查询表达式可以得到很好的编译时语法检查,丰富的元数据,智能感知等强类型语言的好处LINQ 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间 架起了一座桥梁. 二.LINQ出现的背景: 传统上,针对数据的查询都是以简单的字符串表示,而没

Linq系列:基础与本质(Part II)

接上文讲,我们在上篇文章里经常提到两个东西(Linq系列:基础与本质(Part I)),System.Linq.Enumerable和System.Func.那么着 两个东东到底是个什么东西呢?我们看看下面的代码: LINQ表达式在编译时,编译器会将查询操作符转换为对 System.Linq.Enumerable 类型中若干函数的调用(或者其他类型).下面是几个 Enumerable 成员函数: Code public static IEnumerable<TSource> Where<

linq查询非常大的数据集那么弄呢?

问题描述 如题 解决方案 解决方案二:如果数据量巨大,建议分页,或按条件查询解决方案三:引用楼主的回复: 如题 数据量大就不要用LINQ,可以用分页(存储过程分页等)的方法或者查询加索引解决方案四:先弄明白它们的差距在哪,再考虑怎么处理问题.解决方案五:传统的数据处理这样的:DBMS->查询服务器(基于Sql)->应用程序层数据处理(基于sql)楼主使用LINQ的话,可以用linq技术替代应用程序层的(二级)数据处理了解一些BI的基础知识,有助于细分数据处理职责Sql是工业标准,用于自动化生产

C# 3.0语言新特性(语言规范):7 查询表达式

规范 原文:<C# Version 3.0 Specification>,Microsoft翻译:lover_P 查询表达式(Query Expression)为查询提供了一种语言集成的语法,这种语法类似于关系和分级查询语言,如SQL和XQuery. query-expression:from-clause  query-body from-clause:from  from-generators from-generators:from-generatorfrom-generators  ,

LINQ查询介绍

查询是一种从数据源检索数据的表达式.查询通常用专门的查询语言来表示 .随着时间的推移,人们已经为各种数据源开发了不同的语言:例如,用于关系 数据库的 SQL 和用于 XML 的 XQuery.因此,开发人员不得不针对他们必须支 持的每种数据源或数据格式而学习新的查询语言.LINQ 通过提供一种跨各种数 据源和数据格式使用数据的一致模型,简化了这一情况.在 LINQ 查询中,始终 会用到对象.可以使用相同的基本编码模式来查询和转换 XML 文档.SQL数据库.ADO.NET 数据集..NET 集合