实体框架预测和退货类型

时间:2015-01-31 18:25:32

标签: c# entity-framework architecture domain-driven-design

我的解决方案中有以下项目类库结构:

Application.Domain.Models : Entities like User, Customer. Application.DataAcess : IUserRepository, ICustomerRepository Application.Business : IUserService, ..

对于一个操作,我只需要CustomerName和CustomerAddress,然后我将使用实体框架投影仅返回此属性。

我的问题是,我应该创建一个仅存储此属性的实体并从此操作返回它,还是应该返回仅包含这两个属性的Customer实体以及所有其他没有值的实体?

如果要创建一个新实体,应该放入哪个层? Domain.Models,Domain.AnotherFolder还是Business?

1 个答案:

答案 0 :(得分:2)

从技术上讲,你不应该构建无效的对象。因此,只需获取整个实体并使用您需要的内容即可。这也意味着您可以重用一些现有代码。您可以创建另一个实体,但这应该补充您的域模型。它会进入域名。如果您只是检索要在域外使用的数据,您可以考虑使用轻量级只读查询层,只将数据传递给想要阅读它的人。