我为MVC4 webapp + EntityFramwork5开发了三层体系结构。 我想保留图层,所以只有DAL知道我正在使用EF,例如。ASP.NET MVC4 n层体系结构:最佳方法
其实我有很多的类来管理:
DAL
- 实体POCO
- 实体的DataContext:的DbContext
- 实体库
BL
- 实体视图模型
- 实体服务(实例化实体库)
WEB
- 实体控制器(实例化实体服务)
这是工作但很难维持。我正在考虑删除DAL中的Entity Repository并直接使用DataContext(如果我没有错,毕竟DbContext已经被设计成一个Repository和一个工作单元),但是这会迫使我添加一个引用EntityFramework.dll在我的BL。这不是一个大问题,但我不确定这是不是最好的选择。
有什么建议吗?
(我希望我给了足够的信息,如果你需要更多的,只是问)
我不太清楚为什么你提到它很难保持你的项目。你认为什么层面难以维护? –
例如,如果我添加一个字段到POCO,我需要更新datacontext(并非总是),dal存储库,BL视图模型,BL服务..不是很少......但可能是必须的这个结构(或者设计错误) – Davide
hi @Davide,你也可以为你的项目应用一些GOF设计模式。例如,如果你可以添加一个字段到POCO,你可以使用“Builder”模式:)。 –