Linq学习笔记一(第一个ORM映射,熟悉一下Linq to sql语法)

1.在vs08下新建一个普通的网站项目。
右击网站项目->选择添加新项,然后选择“Linq to sql Classes”,命名为Northwind
这个文件.dbml是元数据定义文件。把数据库中的表与linq中的表关联起来。

2.点“服务器资源管理器”添加一个连接,连接到Northwind
打开表,把Customers表拖到Northwind.dbml中。
在Northwind.designer.cs中生成类似下面的代码:
[Table(Name="dbo.Customers")]
public partial class Customers : INotifyPropertyChanging, INotifyPropertyChanged
{}
即创建表Customers对应的映射。

3.创建了表对应的映射,对数据表的增删改查,就可以像NHibernate那样。
或者类似建立了表对应的Model,把普通的执行sql语句变成表对象操作。
避免写繁琐的sql语句。算是官方的ORM(Object/Relation Mapping 对象-关系数据库映射)吧。
挺方便,以前自己写的Model层,Dal层都省略了。
先看一下查询吧。

Linq学习笔记一(第一个ORM映射,熟悉一下Linq to sql语法) 代码
using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Web;
using  System.Web.UI;
using  System.Web.UI.WebControls;

using  System.Data.Common;
using  System.Collections.Generic;

namespace  FirstLinq
{
    
public   partial   class  _Default : System.Web.UI.Page
    {
        
protected   void  Page_Load( object  sender, EventArgs e)
        {
            Linq1();
            Linq2();
        }
        
///   <summary>
        
///  熟悉一下linq语法,变量的定义类似js,无须声明类型。
        
///   </summary>
         private   void  Linq1()
        {
            var age 
=   29 ;
            var username 
=   " greatverve " ;
            var userlist 
=   new [] {  " a " " b " " c "  };
            
foreach  (var user  in  userlist)
            {
                Response.Write(user);
            }
        }
        
///   <summary>
        
///  熟悉Linq to sql语法
        
///   </summary>
         private   void  Linq2()
        {
            NorthwindDataContext ctx 
=   new  NorthwindDataContext( " Data Source=ZHANGSHUQIANG;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=sa " );
            Customers customer 
=   new  Customers();

            
// 执行普通的sql语句,查询CustomerID="ANATR"的记录
            IEnumerable < Customers >  customers  =  ctx.ExecuteQuery < Customers > ( " select * from Customers where CustomerID='ANATR' " );
            customer 
=  customers.First();
            Response.Write(customer.CustomerID);

            
// 使用Linq查询单条记录
            var cus  =  from c  in  ctx.Customers  where  c.CustomerID.Equals( " ANATR " ) select c;
            customer 
=  cus.First();
            Response.Write(customer.CompanyName);

            
// 查询结果集,语法:from 临时表名 in 表集合 orderby 临时表名.字段名 升级序 select 临时表名
            gdvCustomers.DataSource  =  from cust  in  ctx.Customers  where  cust.CustomerID  !=   " ANATR "  orderby cust.CompanyName descending select cust;
            gdvCustomers.DataBind();
        }
    }
}

 前台:

Linq学习笔记一(第一个ORM映射,熟悉一下Linq to sql语法) 代码
<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeBehind = " Default.aspx.cs "  Inherits = " FirstLinq._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 ></ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< asp:GridView  ID ="gdvCustomers"  runat ="server" >
        
</ asp:GridView >
    
</ div >
    
</ form >
</ body >
</ html >

 

真的是好便捷,普通的小项目完全够了,以后慢慢深入学习吧。

本文源码下载:http://files.cnblogs.com/greatverve/FirstLinq.rar

你可能感兴趣的:(LINQ)