.net实体新解
传统的开发模型中一般会有一个实体层(这里的实体和MVC开发框架中的实体不是一个概念),
这个实体层中的类,是数据库表在应用程序的映射,甚至类名称会与表一一对应.虽然是类,但是组成却只有属性,
没有方法.
这类实体的作用是传递数据的载体,简洁明了,例如当一个方法参数个数超过3个,而这这三个参数又代表一个表的
相应字段时,他们就可以用一个实体类代替.
以上算是实体类的一个优势,当然它的优势不仅如此.
我们想想在数据层返回查询数据时,有几种格式?
一般会返回单个字段,单个DataTable,甚至是DataSet
单个字段很明了,我们暂且不提.说说DataTable,既然是DataTable,就是行的集合,每一行就可以用实体类
来映射,所以在数据返回dataTable时,可以直接将其转化为实体集合。这样做的再外层调用时会比DataTable
更直观,直接知道操作的是哪个具体的对象。
这种方法一般应用的场景:
单表查询,获得连表查询时表之间有继承关系,没有继承关系的连表查询的结果没法用一个实体表示,所以无法映射为实体集合。
开发过程中有一个原则是封装变化
我们在数据层操作数据表时肯定用到sql语句。select * from TableName(出于性能和规范原因,我不会直接用*,而是用相应的字段),好的,说到这里,变化出现了,就是这个查询字段
select ColumName from TableName ,处于业务或者其它因素,通常我们的数据库字段会修改,这时我们就必须整个项目查找使用过该字段的方法,进行替换。
既然实体层是数据库与应用程序映射的纽带,何不把实体层做下扩充呢?
我们在实体类中加一个字段,其值就是数据表中的字段名称,在各个工程,各个方法中需要用到相应的字段都通过特定的实体类调用,
当数据库发生变化时,重新生成实体类,其它工程不需要变化,数据访问层的sql语句也显得整洁和清晰。
作者 dreamhappy
相关新闻>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- .NET简谈互操作(四:基础知识之Dispose非托管内存
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注
- .NET设计模式:工厂方法模式(Factory Method)[1]
- 聊聊.net程序设计——浅谈使用VS2010建模拓展(下
- Web Service学习笔记(4)
- 使用ASP.NET MVC3+EF+Jquery制作文字直播系统(四
- JQuery+Asp.net MVC实现用户名重名查询
- MVC3+Entity Framework 实现投票系统(二)
- asp.net DataTable和Dataset序列化成Json格式
- .net架构的最后思考(箴言)



