LINQ查询表达式 - 查询表达式基础

Posted 水手哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ查询表达式 - 查询表达式基础相关的知识,希望对你有一定的参考价值。

什么是查询?它有什么用途?

  “查询”是指一组指令,这些指令描述要从一个或多个给定数据源检索的数据以及返回的数据应该使用的格式和组织形式。 查询不同于它所产生的结果。
通常,源数据会在逻辑上组织为相同种类的元素序列。 SQL 数据库表包含一个行序列。 与此类似,ADO.NET DataTable 包含一个 DataRow 对象序列。 在 XML 文件中,有一个 XML 元素“序列”(不过这些元素按分层形式组织为树结构)。 内存中的集合包含一个对象序列。
从应用程序的角度来看,原始源数据的具体类型和结构并不重要。 应用程序始终将源数据视为一个 IEnumerable<T> 或 IQueryable<T> 集合。 在 LINQ to XML 中,源数据显示为一个 IEnumerable<XElement>。 在 LINQ to DataSet 中,它是一个 IEnumerable<DataRow>。 在 LINQ to SQL 中,它是您定义用来表示 SQL 表中数据的任何自定义对象的 IEnumerable 或 IQueryable。

查询结果:

检索元素子集,产生新的序列,不修改单个元素,可以对其进行分组、排序

 IEnumerable<int> highScoresQuery =
                from score in scores
                where score > 80
                orderby score descending
                select score;

 

检索元素子集,转换元素类型

 IEnumerable<string> highScoresQuery2 =
                from score in scores
                where score > 80
                orderby score descending
                select String.Format("The score is {0}", score);

 

 检索有关源数据的单一值

int highScoreCount =
                (from score in scores
                 where score > 80
                 select score)
                 .Count();

-or-

IEnumerable<int> highScoresQuery3 =
                from score in scores
                where score > 80
                select score;

            int scoreCount = highScoresQuery3.Count();

 

 

 

 

参考

  [1] MSDN,LINQ查询表达式

以上是关于LINQ查询表达式 - 查询表达式基础的主要内容,如果未能解决你的问题,请参考以下文章

LINQ查询表达式 - 查询表达式基础

C#图解教程 第十九章 LINQ

Linq基础+Lambda表达式对数据库的增删改及简单查询

Linq基础知识小记三

查询表达式和LINQ to Objects

LINQ 查询表达式(C# 编程指南)