【发布时间】:2012-07-13 15:59:06
【问题描述】:
我是实体框架和 MVC 的新手,并试图了解什么是新应用程序的良好设计方法。
有几种使用实体框架的方法。但是,对于我的项目,最好的选择是 DB First。我玩过一个 EDMX 文件,并且已经使用 DbContext 代码生成器来创建我的包装类。
我计划使用存储库和工作单元模式,并使用 ninject 进行 DI。
但是,从 SoC 的角度来看,虽然我的存储库会从我的代码中隐藏数据存储 (EF) 的实现,但模型类本身非常具有 EF 风格,这似乎并不“合适”。
似乎使用基于 EDMX 的 EF 方法模糊了关注点的分离。只有 POCO 支持似乎允许真正的分离,但 POCO 有一些我不喜欢的其他限制。
是我遗漏了什么,还是使用 EDMX 有这个缺点?
人们是否使用自动映射器在实体模型和另一个干净的 SoCced 模型之间进行转换?
谢谢
田
【问题讨论】:
-
实体框架风格如何影响关注点分离?
-
您可以添加一个更好地代表您的域的 Dto 层和一个将实体转换为 Dtos 的翻译层。我发现流程非常复杂的转换,Auto Mapper 比编写和单元测试映射例程更多的工作。
标签: entity-framework edmx separation-of-concerns