【发布时间】:2013-01-09 22:11:46
【问题描述】:
我有一个关于如何处理不代表数据库中数据的实体,而是我出于业务目的需要的定制实体的问题。
我的解决方案结构如下:
- 实体程序集(POCO 对象)
- 存储库程序集(EF 代码优先)
- 业务层组装
- UI 程序集 (MVC)
在我的实体程序集中,我有两个实体,A 和 B,出于我的业务逻辑的特定目的,我需要返回一个包含这两个实体(以及其他属性)的对象:
class X
{
public A[];
public B[];
}
我应该直接从存储库返回这个对象吗?还是业务层调用repo.GetA和repo.GetB然后创建X并返回?
在这种情况下,也许在业务层创建对象是有意义的。但是如果X 类是A 和B 的“分组依据”呢?然后从存储库中返回它更有意义。
我想没有灵丹妙药,但有什么指导方针吗?
干杯。
【问题讨论】:
-
要遵循真正的 DDD,我认为您的 Entities 和 Repository 接口都应该在业务(域)层中。
标签: design-patterns domain-driven-design repository-pattern