LINQ开发系列(1):初识LINQ
http://tech.ddvip.com 2008年01月23日 社区交流
内容摘要:LINQ是Language Integrated Query的缩写,翻译成汉语就是语言集成查询。LINQ是一套简化和统一数据访问的实现方法。LINQ并不是要求你使用一种特定的架构,它使一些现有访问数据架构的实现更加便利。和使用其他工具一样,LINQ也存在好和坏两个方面。要从LINQ中得到最好的东西,就需要对它有所精通。
2、LINQ是一种将SQL查询嵌入到代码中的另一种工具
3、LINQ是另外一种数据抽象层。
以上这些描述在某种程度上都是正确的,但每种描述都仅仅集中在一个方面。LINQ能够做的事情远远比嵌入的SQL查询要多很多,它也比“统一的编程模型”更容易使用,同时也远不止是数据模型的另外一套规则。
LINQ是一套简化和统一数据访问的实现方法。LINQ并不是要求你使用一种特定的架构,它使一些现有访问数据架构的实现更加便利。和使用其他工具一样,LINQ也存在好和坏两个方面。要从LINQ中得到最好的东西,就需要对它有所精通。
LINQ是一个编程模型,将查询作为一流的概念引入到Micosoft .NET语言中。当然,这需要编程语言和框架(.NET Framework 3.5)的支持。
下面的代码将在页面上的GridView2中显示Country为USA客户名称:
NorthWindDataContext NorthWind = new NorthWindDataContext();
var query = from c in NorthWind.Customers where c.Country == "USA" select c.CompanyName;
GridView2.DataSource = query;
GridView2.DataBind();
当然,也可以在ASPX页面里进行设置:
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>LINQ 学习</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" DataSourceID="LinqDataSource1"
AllowSorting="True"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" ReadOnly="True"
SortExpression="CompanyName" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" ReadOnly="True"
SortExpression="ContactName" />
<asp:BoundField DataField="Country" HeaderText="Country" ReadOnly="True"
SortExpression="Country" />
</Columns>
</asp:GridView>
</div>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="NorthWindDataContext"
Select="new (CompanyName, ContactName, Country)" TableName="Customers"
Where="Country == @Country">
<WhereParameters>
<asp:Parameter DefaultValue="USA" Name="Country" Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<hr />
<asp:GridView ID="GridView2" runat="server">
</asp:GridView>
</form>
</body>
</html>
实现上面数据显示的过程如下:
来源:Csdn博客 作者:孟宪会 责编:豆豆技术应用