数据实体层用于封装实体类数据结构,一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象。
一般来说设计数据实体层时,大家一般有以下选择。
1、DataSet
2、XML
3、使用XML作为数据结构来源,来生成的统一业务实体类。
4、可序列化的业务实体类。
5、可序列化的,带一般CRUD操作的业务实体类。
前二种太简单,这里不一一叙述了。
第三种就是写一个复杂的统一的业务实体类,这个类主要是读取指定的XML文件,生成相应的业务实体类。利用常用的数据库工具,将现有的数据库结构导出为XML文件,并放入指定的位置。程序则读取XML,并生成相应的DataSet用于操作。优势在于,程序与数据库完全分离,只与相应的XML文件相关,因此独立性强。不利的一面则是此类要考虑的事情实在是太多,要想完全实现可复用的组件则需花费大量的时间。而且,对配置管理要求很严格,主要是XML和数据库的一致性上。如果更新了数据库而忘了更新XML,呵呵,后果可想而知。还有就是系统开销变大,对性能有一定的影响。(网上有些例子,大家可以参考)
第四种实现比较容易,但是对于一般项目而言工作量大,建议项目开发前,应先开发自动生成的工具,减少工作量。
例:
1#region ID
2// 字段名称
3public const string FIELD_ID = "Id";
4// 属性
5private int iId;
6public int Id
7{
8 get
9 {
10 return iId;
11 }
12 set
13 {
14 iId=value;
15 }
16}
17#endregion ID
2// 字段名称
3public const string FIELD_ID = "Id";
4// 属性
5private int iId;
6public int Id
7{
8 get
9 {
10 return iId;
11 }
12 set
13 {
14 iId=value;
15 }
16}
17#endregion ID
第五种则是在第四种上加入了基本的CRUD操作。
如果大家还有什么更好的方法,请指教。谢谢。