【发布时间】:2013-08-09 04:38:18
【问题描述】:
我偶然发现了以下两篇文章First和Second,其中作者总结指出ORM实体和域实体不应该混为一谈。
当我使用 EF 6.0 使用 Code First 方法进行编码时,我现在正面临这个问题。我将 POCO 类用作 EF 中的实体以及我的域/业务对象。但是我发现自己经常遇到这样的情况,即我将一个属性定义为公共属性或将导航属性定义为虚拟属性,这仅仅是因为 EF 框架强制我这样做。
不知道该拿什么作为两篇文章的底线?例如,我是否应该为实体框架创建一个 CustomerEF 类,为我的域创建一个 CustomerD。然后创建一个使用 CustomerD 的存储库,将其映射到 CustomerEF 做一些查询,然后将收到的 CustomerEF 映射回 CustomerD。我认为 EF 就是将我的域实体映射到数据。
所以请给我一些建议。我是否忽略了 EF 能够为我提供的重要内容?或者这是一个EF无法完全解决的问题?在后一种情况下,解决此问题的好方法是什么?
【问题讨论】:
标签: entity-framework orm domain-model