我有一个关于如何处理不是数据库中数据表示的实体的问题,而是我需要用于业务目的的定制实体。
我的解决方案结构如下:
- 实体组装(POCO 对象)
- 存储库程序集(EF 代码优先)
- 业务层组装
- UI 组装 (MVC)
在我的实体程序集中,我有两个实体A
和B
,并且出于我的业务逻辑的特定目的,我需要返回一个包含两者(以及其他属性)的对象:
class X
{
public A[];
public B[];
}
我应该直接从存储库返回这个对象吗?或者业务层应该调用repo.GetA
然后repo.GetB
创建X
并返回它?
在这种情况下,也许在业务层创建对象是有意义的。但是,如果班级是andX
的“分组依据”呢?然后从存储库中返回它更有意义。A
B
我想没有灵丹妙药,但有什么指导方针吗?
干杯。