好的,所以我定义了我的根源。根内的实体可以引用同一根内的其他实体,但不能引用根外的其他实体。在那里,他们只能拥有身份或相关实体。这一切都很棒。
但是,我正在使用 EF5 并且导航属性正在阻碍。我真的只想定义实体位于聚合内的导航属性。但是如何在相关实体位于不同聚合中的情况下应用一些参照完整性?是使用迁移手动添加 FK 的唯一选择吗?
再一次,但是......这会引起一些问题,因为我希望能够拥有 ReadOnlyRepositories 来从各地获取聚合数据。我不想进入 CQRS,因为我觉得那里有太多的飞跃。我是否需要第二个有界上下文,其中包含定义了额外导航属性的新实体集(或者可能是派生集)?这样我就可以编写从多个根中提取数据的查询?