有些属性对域没有意义,但对于存储库是必不可少的,一个例子是分区键。
我的存储库上有一个DTO可以扩展实体的基本实现,添加相关字段吗?
答案 0 :(得分:2)
这完全没问题。只要此DTO保留在存储库中。 在福勒的PoEAA:
存储库模式描述为:域之间的中介 和数据映射层使用类似集合的接口 访问域对象。
只要存储库正确地完成其工作(存储和获取域模型),实现就不重要了。 只需确保存储库的任何实现细节都不会在项目的其余部分中传播。如果您将DTO添加到存储库内的实体,请确保返回没有DTO或其他不相关的额外字段的实体。