1

我试图弄清楚聚合根在我的实体框架数据模型中的位置,所以我知道我需要创建哪些存储库。

如果我用关系数据库术语谈一谈,我有一个 ExceptionGroup 对象和一个 Exception 对象(不是 system.exception!)。Exception 属于 ExceptionGroup,没有 ExceptionGroup 就不能存在。

我应该为每个对象都有一个存储库还是一个包含两者方法的存储库?如果我有一个单一的存储库,方法如下......

FindAllExceptionsByExceptionGroup(int GroupID)
AddExceptionGroup(ExceptionGroup ExceptionGroup) - because an exception cannot exist without a group.
AddException(DataAccess.Exception Exception)
DeleteExceptionGroupByID(int GroupID)
DeleteExceptionByID(int ExceptionID)
DeleteExceptionByGroup(int GroupID)
4

1 回答 1

2

如果我正确理解您的模型,听起来您将拥有一个存储库,ExceptionGroup并且该ExceptionGroup对象将封装对Exception实例的访问和操作(例如,通过公开它们的集合)。这样一来,两个类之间的强制关系就变得非常明显了。

Jeff Sternal 在这里对类似问题有一个很好的回答:什么是聚合根? 他的 Order / LineItem 示例似乎类似。

于 2011-06-30T17:36:38.273 回答