【发布时间】:2014-06-23 23:01:42
【问题描述】:
我有一个关于存储库和实体的重要问题。我是否应该限制存储库以创建特定的实体/聚合根(通过 BaseRepository 等通用存储库)?
此时,基础存储库可以访问数据库工厂对象(不是 DbFactory,而是自定义)以检索任何 POCO(不仅与聚合根相关)。因此,从技术上讲,我可以从任何存储库创建任何实体。显然,作为一名程序员,我不这样做,但这绝对是可能的。那么,是否有必要限制存储库并允许它创建特定实体?请注意,某些实体也有子实体。那么,如果我限制存储库创建一个实体(通过 BaseRepository),那么如何创建子实体?
【问题讨论】:
-
您的意思是“创建”,如在系统中引入新实体/聚合根或重新水化先前存储的实体? “用于检索任何 POCO 的数据库工厂对象” 部分使其非常不清楚。
标签: c# domain-driven-design ddd-repositories