LINQ查询简单概述

开发 后端
这里介绍LINQ与SQL或XPath不同,LINQ查询用C#,而非第三方语言编写。这样,查询就不会出现类型问题,开发者也就没有必要编写映射代码把查询返回的数据转化成C#对象,而由LINQ API自动处理映射。

学习LINQ时,经常会遇到LINQ查询问题,这里将介绍LINQ查询问题的解决方法。

在之前的C#版中,开发者应用许多不同的查询语言来访问不同的数据源。例如,要查询一个XML文件,开发者会使用XPath,要查询一个SQL数据库,开发者将使用SQL。在过去这种方法十分有效,并且现在仍然是访问各种数据的主要方法。但是,这种方法具有一些缺点。一个显著的缺点在于:开发者必须以一种不同的语言,而非他们当前使用的语言(如SQL或XPath)来编写查询代码。另一个缺点是,在执行某些查询语言,如SQL时,开发者必须编写映射代码将查询结果转化为可用的C#业务对象。

C#3.0推出一种称之为语言集成查询(LINQ)的新方法。应用LINQ,开发者可以编写出能够搜索任何IEnumerable数据源的代码。所以除了应用TSQL访问MS SQL数据库,应用XPath访问XML文件外,他们还可以应用LINQ。

下面的代码(列表C)是一个LINQ查询的例子,它返回所有OrderCount大于10的顾客:

  1. using System;  
  2. using System.Query;  
  3. using System.Collections.Generic;  
  4.  
  5. public class SampleClass  
  6. {  
  7. static void Main()  
  8. {  
  9. List customers = GetCustomers();  
  10. //Write our query to retrieve customers who have more than  
  11. // 10 orders.  
  12. IEnumerable queryResult = from customer in customers  
  13. where customer.OrderCount > 10  
  14. orderbycustomer.ID  
  15. select customer;  
  16. }  

LINQ与SQL或XPath不同,LINQ查询用C#,而非第三方语言编写。这样,查询就不会出现类型问题,开发者也就没有必要编写映射代码把查询返回的数据转化成C#对象,而由LINQ API自动处理映射。

基本上,在ORM解决方案中,LINQ对象用途很大。同样,它的范围也非常广泛,有大量MSDM信息描述了它的功能。

【编辑推荐】

  1. LINQ to SQL Table浅谈
  2. Linq语句问题的解决方法
  3. Ling to sql更新实体概述
  4. Linq实体继承简单描述
  5. Linq Library概述
责任编辑:佚名 来源: IT168
相关推荐

2009-09-11 09:53:16

Linq查询表达式

2009-09-09 16:07:16

Linq实体关系

2009-09-15 13:37:24

Linq To Sql

2009-09-17 11:35:40

Linq匿名类型

2009-09-11 10:16:07

Linq匿名类型

2009-09-15 13:53:53

Linq To Sql

2009-09-10 13:13:47

Linq Func<T

2009-09-17 16:46:34

Linq to sql

2009-09-14 10:54:07

LINQ解决方案

2009-09-18 13:58:00

LINQ查询数据库

2009-09-07 17:05:10

LINQ进行查询

2009-09-09 15:10:35

LINQ查询句法

2009-09-08 09:24:50

LINQ查询

2009-09-15 09:39:38

LINQ查询架构

2009-09-14 10:20:52

LINQ查询语法

2009-09-15 16:09:12

LINQ进行查询

2009-09-15 14:58:26

Linq查询本质

2009-09-15 15:18:40

Linq连接查询

2009-09-15 11:34:47

Linq多条件查询

2009-09-10 13:42:47

Linq UserIn
点赞
收藏

51CTO技术栈公众号