Nic*_*olo 4 nhibernate data-access-layer
我是否正确使用NHibernate(或任何其他ORM)消除了DAL的必要性?或不?
我试图想到如何回答这个问题,但答案是否定的,它没有删除DAL的必要性,而不是成为DAL的一部分,你在做什么之前无疑是有访问对象调用sql代码构建代码或调用存储过程.
然后构建了一个Bill业务对象,其数据可能来自多个表,然后返回.这是一项艰苦的工作,通常只涉及维护.
NHibernate将繁重的工作从这项任务中解脱出来(并做其他事情),但你仍然可能希望"Manager"类作为数据访问层的一部分,在返回对象之前进行操作等.
因此,尽管我在解释它时做得非常糟糕,但NHibernate并没有消除对DAL的需求,只是改变了DAL的组成部分.
你需要一个DAL,问题是你在DAL做什么.在使用NHibernate的.NET项目中,我使用了这个组织
我举个例子,我想让所有活跃的员工进行排序.
在我的UI中,我调用MyProject.Service.EmployeeService.GetActive(); 在getGetActive中,我在PyProject.Repo中调用一个函数来获得活跃的员工.当我返回结果时(在服务方法中),我使用Linq进行订单并返回订购的列表.
要恢复,Repo项目,它通过NHibernate和Service访问数据库是业务.
这是我的意见,就像我这样做可能不是最好的方式,不是唯一的方式,但它是我的方式:)
| 归档时间: |
|
| 查看次数: |
1387 次 |
| 最近记录: |