数据实体层介绍
数据实体层用于封装实体类数据结构,一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象。
一般来说设计数据实体层时,大家一般有以下选择。
1、DataSet
2、XML
3、使用XML作为数据结构来源,来生成的统一业务实体类。
4、可序列化的业务实体类。
5、可序列化的,带一般CRUD操作的业务实体类。
前二种太简单,这里不一一叙述了。
第三种就是写一个复杂的统一的业务实体类,这个类主要是读取指定的XML文件,生成相应的业务实体类。利用常用的数据库
工具,将现有的数据库结构导出为XML文件,并放入指定的位置。程序则读取XML,并生成相应的DataSet用于操作。优势在于,程序
与数据库完全分离,只与相应的XML文件相关,因此独立性强。不利的一面则是此类要考虑的事情实在是太多,要想完全实现可复用
的组件则需花费大量的时间。而且,对配置管理要求很严格,主要是XML和数据库的一致性上。如果更新了数据库而忘了更新XML,
呵呵,后果可想而知。还有就是系统开销变大,对性能有一定的影响。(网上有些例子,大家可以参考)
第四种实现比较容易,但是对于一般项目而言工作量大,不过使用Spdevelop可以轻松的帮您在1秒内完成本项工作,减少工
作量。生成的实体如下:
using System;
using System.Data.SqlClient;
namespace Spdevelop.Model
{
/// <summary>
/// 角色
/// </summary>
public class Role
{
/// <summary>
///
/// </summary>
public Role()
{
}
/// <summary>
///
/// </summary>
public Role(Int32 rid)
{
this.rid = rid;
}
/// <summary>
///
/// </summary>
public Role(SqlDataReader dr)
{
this.rid = Convert.ToInt32(dr["rid"]);
this.name = Convert.ToString(dr["name"]);
}
#region Rid
private Int32 rid;
/// <summary>
/// 角色编号
/// AutoInc
/// PK
/// </summary>
public Int32 Rid
{
get{ return rid; }
set{ rid= value; }
}
#endregion
#region Name
private System.String name;
/// <summary>
/// 角色名称
/// </summary>
public System.String Name
{
get{ return name; }
set{ name= value; }
}
#endregion
}
}
查看详细模板 www.spdevelop.com
第五种则是在第四种上加入了基本的CRUD操作。
posted on 2006-07-19 20:28 spdevelop 阅读(1267) 评论(0) 编辑 收藏 举报