DLINQ

None.gif DLINQ可以访问DataSet,这种情况我们在本文就不考虑了,
None.gif
None.gif本文考虑的是直接用DLINQ访问数据库,我们如果用VS Orcas中的LINQ到SQL的新ORM设计器,VS替我们产生了一些代码,这种情况也不是本文考虑的范围。
None.gif
None.gif本文我们要考虑的事情是:如何自己编码去链接数据库,这样我们才能对DLINQ链接数据库有更深入的了解。
None.gif
None.gif下面是一个简单的DLINQ代码:获得 pubs 数据库 authors 表的所有作者的 au_id 信息。
None.gif
None.gif
using  System;
None.gif
using  System.Linq;
None.gif
using  System.Data.Linq;   //  这个命名空间在单独的组件 System.Data.Linq.dll 中
None.gif

None.gif
public   class  DLinqTest
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
public static void DoSomeThing()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
// 链接字符串       
InBlock.gif
        string connectionString = “Data Source=192.168.5.2;Initial Catalog=pubs;Persist Security Info=True;User ID=sa;Password=******”;
InBlock.gif
InBlock.gif        
// 我们就是通过使用 DataContext  来 DLINQ链接数据库的。
InBlock.gif
        DataContext db = new DataContext(connectionString);
InBlock.gif        Table
<Authors> authors = db.GetTable<Authors>();
InBlock.gif        var users 
= from a in authors orderby a.au_id select a;
InBlock.gif        
foreach (var a in users)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            Console.WriteLine(a.au_id);
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif
None.gif
//  数据库中的表结构影射的实体对象,注意其中的 Attribute.
None.gif

None.gif[Table(Name 
=  “authors”)]
None.gif
public   class  Authors
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    [Column(IsPrimaryKey 
= true)]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public string au_id dot.gifgetset; }
InBlock.gif    [Column]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public string au_lname dot.gifgetset; }
InBlock.gif    [Column]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public string au_fname dot.gifgetset; }
InBlock.gif    [Column]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public string phone dot.gifgetset; }
InBlock.gif    [Column]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public string city dot.gifgetset; }
InBlock.gif    [Column]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public string state dot.gifgetset; }
InBlock.gif    [Column]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public string zip dot.gifgetset; }
InBlock.gif    [Column]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public bool contract dot.gifgetset; }
ExpandedBlockEnd.gif}

None.gif
None.gifDLINQ 链接到数据库的步骤:
None.gif
None.gif
1 、创建数据表跟实体对应的实体类(字段和元素可以不一一对应),并把这个类标上Table 特性,根数据表字段有关的元素标上Column特性;
None.gif
None.gif
2 、使用 DataContext 和数据库链接字符串建立跟数据库的链接,然后使用 DataContext  的实例的 GetTable 方法获得对应表影射的实体类。
None.gif
None.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值