聚合根中的NHibernate和Interceptor

时间:2013-06-03 09:44:10

标签: c# nhibernate interceptor aggregateroot

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

使用NHibernate,如果我更新为C实例,如何通知链接到A的一个实例(以及哪个实例)的“某些东西”已被更新?

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

1 个答案:

答案 0 :(得分:0)

根据映射的具体情况,每次修改实体B时,始终可以搜索链接的C实体。鉴于B与外键关系C相关,您可以搜索所有B(或单B),其外键等于C实体主键。

如果同时B不了解A,您可以使用类似的过程来通知与其相关的A实例。或者,如果另一方面BA的链接,则可以改为使用该关系。

具体实现取决于您将这些实体映射到何处。