我對如何處理不是數據庫中數據表示的實體做了一個問題,而是一個我爲商業目的需要的自定義實體。DDD和實體框架中的聚合
我的解決辦法是在結構化:
- 實體組件(POCO對象)
- 庫組件(EF代碼優先)
- 商業層組件
- UI組件(MVC)
在我的實體程序集中,我有兩個實體A
和B
,並且對於特定的p urpose我的業務邏輯,我需要返回一個包含兩個(其它性質)的對象:
class X
{
public A[];
public B[];
}
我應該從資源庫中直接返回該對象?或者業務層應該調用repo.GetA
和repo.GetB
,然後創建X
並返回它?
在這種情況下,在業務層中創建對象也許是有意義的。但是如果X
類是A
和B
的「group by」?然後從存儲庫返回它更有意義。
我猜沒有銀彈,但有沒有指導方針?
乾杯。
要遵循真正的DDD,我認爲您的實體和存儲庫接口應該都在業務(域)層。 –