文/xuanfeng 出处/博客园
综合查询语言LINQ 是Visual Studio 2008 和 the .NET Framework version 3.5在数据开发方面一个重大的创新.他支持C#和VisualBasie两种编程语言.
LINQ有以下四方面的优势:
1. 它简化了查询实现的方式。如果你正准备去学习C#或Visual Basic,那首先要从学习写LINQ查询开始。
2. 它有统一的语法,可以查询任何一种数据源。无论是XML 文件档、SQL数据库、DataSet数据集,内存在的集合,本地的或者是远程的数据源,都可用它去实现查询。
3. 它加强了关系形数据和实例对象的联系。它可以做为一强名称工具和设计工具去创建对象和数据间的关联。
4. 它能在程序编译捕捉到异常,缩短项目的开发时间。
LINQ标准操作简单介绍
LINQ标准操作是LINQ综合查询语言模型中的一系列方法。大部分方法都是操作实了IEnumerable(Of T) 接口或 th interface IQueryable(Of T).接口对象的序列。这些操作可以实现查询的聚合、排序、过滤、投影等功能。
LINQ标准操作之间的不同在于它们的执行时间和返加的数据是单个值还是一组序列。返回值为单值的方法(聚合函数Sum,Average)它们将会在调用时立即执行;返回值为一组系列的方法,它们将会依懒于查询语句的执行。
下面看看看简单的例子:对字符串数组进行分组,查询,排序!
class Program
{
static void Main(string[] args)
{
string sentence = "This i a simle LINQ DEMO!";
string[] words = sentence.Split(' ');
var query = words.
GroupBy(w => w.Length, w => w.ToUpper()).
Select(g => new { Length = g.Key, Words = g }).
OrderBy(o => o.Length);
foreach (var obj in query)
{
Console.WriteLine("单词的长度 {0}:", obj.Length);
foreach (string word in obj.Words)
Console.WriteLine(word);
}
Console.Read();
}
}
LINQ查询操作必备三部曲
查询就是一种从数据源获取数据的表达式。这种表达式在不同语言中有不同的定义。不同的语言面向不同的数据源,比如说SQL 是面向关系型数据库,XQuery面向XML。因此,开发员人需要为从新数据源或数据格式中获取数据而要学习不同的查询表达式语法。LINQ定义了统一的语法可从不同数据源或数据格式中获取数据,从而减少了开发员人学习的负担,减少了工作量。在LINQ查询中,不管什么数据源,都可以看做为一个对象。你可以使用同样的代码在XML文件,SQL数据库,ADO。NET 数据集,.NET 集合类型,其它数据源或数据格式中查询和传输数据。
所有LINQ查询操作都必包含以下三方面内容:
1. 获取数据源
2. 创建查询
3. 执行查询
下面那张图展示了LINQ查询操作中基本三部分内容这间的依懒关系。从图中可看出,在执行查询操作中必须有查询语语的存在,否则不能从数据源中获取数据。只有创建了查询,执行操作才会对数据进行迭代式处理。

附件:
您所在的用户组无法下载或查看附件下面看看怎么用代码实现LINQ查询操作基本的三个方面:
static void Main(string[] args)
{
// 数据源
int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
// 创建查询
IEnumerable<int> numQuery =
from num in numbers
where (num % 2) == 0
select num;
// 执行查询
foreach (int j in numQuery)
{
Console.Write("{0,1} ", j);
}
Console.Read();
}
| 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。 |