NHibernate和拦截器在聚合根

本文关键字:NHibernate | 更新日期: 2023-09-27 18:16:52

假设对象A有一个B对象的列表,并且B链接到一个C对象。

使用NHibernate,如果我更新为C实例,我怎么能被通知链接到A的一个实例(和哪个实例)的"东西"已经更新?

使用拦截器,我知道C已经更新,但如何遵循的方式C -> B -> A自动(C不知道B的例子,和C并不总是聚合根)。

NHibernate和拦截器在聚合根

根据映射的具体情况,每次修改实体C时都可以搜索链接的B实体。假设BC通过外键关系相关联,您可以搜索所有B(或单个B),它们的外键等于C实体主键。

如果同时B不知道A,你可以使用一个类似的过程来通知它与A的哪个实例相关。或者,如果在另一方面B有一个链接到A,你可以使用这种关系来代替。

具体的实现将取决于您如何准确地将这些实体映射在一起。