.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
实战 .Net 数据访问层 - 2

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

 

废话少说,先奉上代码若干,请大家一起参详参祥(以SQL Server所带Northwind为例):

 

代码1:如何调用DAF

// 创建Customer数据访问对象

CustomerDaf daf = new CustomerDaf();

 

// 根据ID返回Customer数据表

DataTable cust1 = (DataTable)daf.GetCustomerById("ALFKI");

 

// 根据名字返回匹配成功的Customer数据集

DataSet cust2 = (DataSet)daf.GetCustomers("ab");

 

// 根据名字返回Customer实体对象

MyCustomer cust3 = daf.GetCustomerByName("Maria Anders");

 

// 返回所有Customer数据列表,每个列表元素代表一个Customer实体对象

IList cust4 = daf.GetAllCustomers();

 

// 根据城市返回Customer数据读取器

DbDataReader cust5 = (DbDataReader)

daf.GetCustomerByCity("London");

// 将数据读取器数据转换为Customer数据列表,每个列表元素代表一个

//   Customer实体对象

IList cust5_list =

EntityConvert.ToList(cust5, typeof(MyCustomer));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                    

 

 

 

 

 

 

 

 

代码1展示了通过DAF获取数据的几种基本操作,从中,我们不难看出:CustomerDaf就是传统意义上的数据访问类,而Customer则对应了数据实体类,这种方式也是现在大部分DAL中最普遍使用的模式。既然如此,那么为何还要在此不厌其烦的推出这个DAF(当然不仅仅是改个名字那么简单J),究竟意图何在?

 

       回答这个问题前,先告诉大家一个事实:

       虽然上面的代码总共返回了5种不同的Data Entity对象:DataTableDataSetMyCustomerIlistDbDataReader,但在Customer数据访问类“CustomerDaf”的定义中,所有方法的返回类型都是统一的MyCustomer!稍后,作者将对这段代码的实现部分进行分析。

      

Ok,让我们先从数据实体类入手,看看传统的Data Entity到底是怎么做的:

 

下一段:http://www.csdn.net/develop/Read_Article.asp?id=27545 




相关文章

相关软件