Dav*_*ave 5 vb.net asp.net entity-framework
所以我们正在构建一个带有的应用程序
我们的目标是从服务层到DAL具有实体框架依赖关系.这意味着Sevice层只接受并返回POCO(普通的旧CLR对象).
我们目前正在做的是手动编码服务层和业务逻辑层之间的映射层,将POCO转换为EF实体,反之亦然.
所以简而言之,页面有表格,表格有代码隐藏,表格内容,填入POCO,发送到服务层.服务层转换为EF实体,将其发送到业务逻辑层,业务逻辑层对实体执行某些转换,然后与DAL交互以使其持久化.
是的,它有点乏味,但我们想知道是否有更好的方法?
是的,我知道有人发布了EF Poco适配器,但它全部都在C#中,我们更喜欢VB.NET解决方案.
是的,切换到NHibernate是最后的选择,因为我们已经深入到我们的开发周期.
您应该在 POCO 上执行业务逻辑。ORM 的全部目的在于它是一个实现细节。业务逻辑应该在域模型和域服务中实现——在业务应用程序中,“域”意味着“业务”。DAL 应该在那里获取 POCO 并将其持久化 - 在您的情况下,这意味着将其映射到并持久化 EF 实体。
无论如何,这就是理论/NHibernate 模型。