我是域驅動設計的新手,但想要學習它並將其用於新的應用程序。我將使用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世界中。我們的域類包含大多數業務邏輯。每個都有一個對瘦數據實體對象的引用,並將持久屬性的獲取和設置委託給數據實體。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因