我对如何处理不是数据库中数据表示的实体做了一个问题,而是一个我为商业目的需要的自定义实体。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,我认为您的实体和存储库接口应该都在业务(域)层。 –