Ami*_*shi 5 c# mapping nhibernate orm data-access-layer
我的项目分层如下:
DAL (Entity)- > BLL (DTO)- > ApplicationComponent (ViewModel)。
将要ApplicationComponent访问的application()的多个组件BLL。组件包括Windows服务,Web服务,Web API和MVC控制器。
我改造NHibernate Entity的对象DTO对象,而从通过他们DAL来BLL。在将此状态传递给时ApplicationComponent,BLL再次将其转换为ViewModel。
这可以帮助我区分关注点以及如何在每一层中处理数据。我不赞成NHibernate Entity出于以下原因返回对象:-
UI我想要隐藏的(或仅在需要时暴露),例如密码,用户类型,权限等。NHibernate在访问属性时执行附加查询,这将使延迟加载的使用无效。Entity)用户的不必要数据会造成错误的混淆和漏洞。BLL/中UI。Entity不适用于UI。它不能UI在所有情况下都可用。DTO进行用户输入验证,看起来有点奇怪Entity。我使用这种方法面临以下问题:-
AutoMapper或类似方法将其最小化;但是它不能完全解决问题。| 归档时间: |
|
| 查看次数: |
1351 次 |
| 最近记录: |