我是域驱动设计的新手,但想要学习它并将其用于新的应用程序。我将使用Entity Framework进行数据访问。

到目前为止的基本布局是:

ASP.NET MVC和其他客户端(移动设备等)
|
网页服务
|
域模型(服务,存储库,聚合,实体和值对象)
|
数据访问层(实体框架)
|
数据存储(SQL Server)

在数据访问层和域模型之间传输数据的最佳方法是什么?我认为域模型中的实体是POCO对象,它们应该映射到Entity Framework对象/从Entity Framework对象映射。这是一个好的解决方案吗?

如果是这样:
这种映射应该如何以及在何处发生? (域模型层或数据访问层)
我应该在哪里以及如何查询实体框架(即根据搜索返回列表)?

一般承认的答案

ANDREY YEMELYANOV就这个确切的主题做了一个硕士论文:

http://gupea.ub.gu.se/dspace/bitstream/2077/10462/1/gupea_2077_10462_1.pdf

随着支持POCO对象的EF 4的发布,这将变得更加容易。

在此期间,您可以尝试使用automapper在域和EF对象之间进行映射,请参阅: http//www.lostechies.com/blogs/jimmy_bogard/archive/2009/01/22/automapper-the-object-object-mapper。 ASPX


热门答案

我认为域模型中的实体是POCO对象,它们应该映射到Entity Framework对象/从Entity Framework对象映射。这是一个好的解决方案吗?

我觉得是这样的。

这是我们已经非常成功的事情,尽管在我的Java世界中。我们的域类包含大多数业务逻辑。每个都有一个对瘦数据实体对象的引用,并将持久属性的获取和设置委托给数据实体。



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因