如果您有一个Contact,与Addresses有1:*的关系,可能还有一个或多个用于保存持久值对象的表 - 应该有多少个存储库?
只有一个ContactRepository有一个公共方法(GetContact(),内部调用私有方法(GetAddresses)),它返回一个完全水合的实体(Contact + Addreses)?
或者应该有两个存储库 - 一个用于联系人,一个用于地址,其中COntactsRepository调用AddressRepository?
还是其他?
谢谢!
答案 0 :(得分:0)
联系人以外的任何人都可以拥有地址吗?
如果没有,我可能会想到只有一个ContactRepository。
如果还存在具有地址的Orders,Events等实体,我会想到一个单独的AddressRepository。
您的Mulberry道路/驱动器示例意味着您只需要一个“123 Mulberry Rd”的地址记录,无论有多少联系人具有该地址,这可能会为执行AddressRepository创造更多动力。