我为 MVC4 webapp + EntityFramwork5 开发了一个 3 层架构。我想保持单独的层,所以只有 DAL 知道我正在使用 EF,例如。
实际上我有很多课程来管理它:
达尔
- 实体 POCO
- 实体数据上下文:DbContext
- 实体库
提单
- 实体视图模型
- 实体服务(实例化实体存储库)
网络
- 实体控制器(实例化实体服务)
这是有效的,但很难维持。我正在考虑删除 DAL 中的实体存储库并直接使用 DataContext(如果我没记错的话,毕竟 DbContext 已被设计为存储库和工作单元),但这将迫使我添加对我的 BL 中的 EntityFramework.dll。不是什么大问题,但我不确定它是否是最佳选择。
有什么建议吗?
(我希望我提供了足够的信息,如果您需要更多信息,请询问)