当前位置:编程学习 > asp >>

打造自己的数据访问层(二)

上一篇打造自己的数据访问层(一)中,我们已了解了.NET对数据库操作的基本原理,并就Ado.net对象的使用提出了几点疑问:
1、如何由系统来判断数据库型。
2、如何消除这些重复代码。
而上篇中也提出了一种解决思路,对ADO.NET对象进行封装,具体应该如何实施?
1、需要一个对象,该对象用于建立内存表与物理表的之间映射关系,解决数据查询、更新操作,形成了数据映射对象,定义为DataMapping。
2、每一个映射对象只与一张物理建立映射关系,如果有多个这样的对象同时操作,如何解决?这时就需要另一个对象,用于添加映射对象集合,打包映射对象操作,形成了数据执行者,定义为DataExecutor。
想想看,只需要这两个基本对象,就可以形成简单的数据访问层了。

先实现DataMapping,它应具备如下功能。
1、需要知道物理表的信息,表名、主键集、字段集。
2、需要知道映射的是什么类型的数据库,MSSql数据库、Oracle数据库、MySql数据库或者其他类型的数据库。
3、可查询数据,即填充内存表。
4、可更新数据,并且可设置更新操作方式。
5、可加入到事务中去。
根据上述功能,可初步设计出的DataMapping类:

public class DataMapping
{
public DataMapping()
{ }

/// <summary>
/// 填充数据集
/// </summary>
public void Fill()
{

}

/// <summary>
/// 设置更新命令
/// </summary>
public void SetCommands()
{

}

/// <summary>
/// 设置数据提交事务
/// </summary>
public void SetTransaction()
{

}

/// <summary>
/// 提交数据
/// </summary>
public bool Update()
{

}

/// <summary>
/// 更新列名
/// </summary>
public string Columns
{
get
{
return columns;
}
set
{
columns = value;
}
}
private string columns = "";

/// <summary>
/// 主键名
/// </summary>
public string KeyColumns
{
get
{
return keyColumns;
}
set
{
keyColumns = value;
}
}
private string keyColumns = "";

/// <summary>
/// 表名
/// </summary>
public string TableName
{
get
{
return tableName;
}
set
{
补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,