LINQ编程模型详细分析

开发 后端
这里介绍LINQ编程模型,LINQ是所有类型数据的统一编程模型,它可以让你使用一致的模型查询和使用数据,而不用关心数据源是什么。

在向大家详细介绍LINQ编程模型之前,首先让大家了解下什么是LINQ?,然后全面介绍LINQ编程模型。

什么是LINQ?

LINQ是Language Integrated Query的缩写,翻译成汉语就是语言集成查询。搜索一下网络,可以发现很多关于LINQ的描述:
1,LINQ是所有类型数据的统一编程模型,它可以让你使用一致的模型查询和使用数据,而不用关心数据源是什么。
2,LINQ是一种将SQL查询嵌入到代码中的另一种工具
3,LINQ是另外一种数据抽象层。

以上这些描述在某种程度上都是正确的,但每种描述都仅仅集中在一个方面。LINQ能够做的事情远远比嵌入的SQL查询要多很多,它也比“统一的编程模型”更容易使用,同时也远不止是数据模型的另外一套规则。

LINQ是一套简化和统一数据访问的实现方法。LINQ并不是要求你使用一种特定的架构,它使一些现有访问数据架构的实现更加便利。和使用其他工具一样,LINQ也存在好和坏两个方面。要从LINQ中得到最好的东西,就需要对它有所精通。

LINQ编程模型,将查询作为一流的概念引入到Micosoft .NET语言中。当然,这需要编程语言和框架(.NET Framework 3.5)的支持。

下面的代码将在页面上的GridView2中显示Country为USA客户名称:

  1. NorthWindDataContext NorthWind = new NorthWindDataContext();  
  2. var query = from c in NorthWind.Customers where c.Country == "USA" select c.CompanyName;  
  3. GridView2.DataSource = query;  
  4. GridView2.DataBind(); 

当然,也可以在ASPX页面里进行设置:

  1. <%@ Page Language="C#" AutoEventWireup="true" 
    CodeFile="Default.aspx.cs" Inherits="_Default" %> 
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    > 
  4. <html xmlns="http://www.w3.org/1999/xhtml"> 
  5. <head runat="server"> 
  6. <title>LINQ 学习</title> 
  7. </head> 
  8. <body> 
  9. <form id="form1" runat="server"> 
  10. <div> 
  11. <asp:GridView ID="GridView1" runat="server" 
    DataSourceID="LinqDataSource1" AllowSorting="True" 
  12. AutoGenerateColumns="False"> 
  13. <Columns> 
  14. <asp:BoundField DataField="CompanyName" 
    HeaderText="CompanyName" ReadOnly="True" 
  15. SortExpression="CompanyName" /> 
  16. <asp:BoundField DataField="ContactName" 
    HeaderText="ContactName" ReadOnly="True" 
  17. SortExpression="ContactName" /> 
  18. <asp:BoundField DataField="Country" 
    HeaderText="Country" ReadOnly="True" SortExpression="Country" /> 
  19. </Columns> 
  20. </asp:GridView> 
  21. </div> 
  22. <asp:LinqDataSource ID="LinqDataSource1" 
    runat="server" ContextTypeName="NorthWindDataContext" 
  23. Select="new (CompanyName, ContactName, Country)" 
    TableName="Customers" Where="Country == @Country"> 
  24. <WhereParameters> 
  25. <asp:Parameter DefaultValue="USA" Name="Country" Type="String" /> 
  26. </WhereParameters> 
  27. </asp:LinqDataSource> 
  28. <hr /> 
  29. <asp:GridView ID="GridView2" runat="server"> 
  30. </asp:GridView> 
  31. </form> 
  32. </body> 
  33. </html> 

【编辑推荐】

  1. LINQ查询操作剖析
  2. LINQ生成字符串概述
  3. LINQ查询语法简单描述
  4. LINQ解决方案简单概述
  5. LINQ查询结果分析
责任编辑:佚名 来源: IT世界 
相关推荐

2009-09-14 16:21:34

LINQ To XML

2009-09-09 09:48:43

Linq延迟加载

2009-09-08 15:56:50

Linq使用Group

2009-09-09 13:53:21

Linq表值函数

2009-09-04 15:43:07

C#流模型

2009-09-25 14:23:39

2009-09-28 10:39:01

Hibernate基础

2009-06-18 14:00:51

2009-10-10 13:52:57

VB Update方法

2009-11-20 13:11:44

Oracle XML数

2010-01-06 13:50:37

.NET Framew

2009-03-24 08:30:54

AndroidGoogle移动os

2009-09-07 13:19:44

C#线程同步

2009-09-03 17:57:06

C#声明事件

2009-12-16 14:09:14

Visual Stud

2009-12-07 15:37:00

WCF控件

2010-04-26 18:17:19

Oracle存储过程

2011-09-24 12:34:03

2009-03-24 09:17:58

驱动GSMAndroid

2009-09-07 14:18:01

C#内存管理
点赞
收藏

51CTO技术栈公众号