哟 - 这本身不是一个 ravendb 问题 - 这是另一个与一般文档数据库有关的设计问题。
所以我一直在使用 DenormalizedReference 很多,我刚刚想到在很多地方这使得 DDD 相当困难。
所以,比如说我有一个有子集合的对象:
List<DenormalizedReference<SomeType>>
这个子集合是在父类实例化时创建一个重载的构造函数,该构造函数接受一个List<SomeOtherType>
现在 - 在 ctor 中,我想从传入的 SomeOtherType 集合创建这个列表 - 这意味着我需要为每个 SomeOtherType 创建一个新的 SomeType。
如果不将 DocumentSession 传递到我的域中 - 我不会这样做 - 这不会起作用,因为当父 AR 被保存时,我们会丢失每个子对象的属性,除了 Id 和 Name
其他人是如何处理这个问题的?