代码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对象:datatable,dataset,mycustomer,ilist,dbdatareader,但在customer数据访问类“customerdaf”的定义中,所有方法的返回类型都是统一的mycustomer!稍后,作者将对这段代码的实现部分进行分析。
ok,让我们先从数据实体类入手,看看传统的data entity到底是怎么做的:
下一段:http://www.csdn.net/develop/read_article.asp?id=27545