NHibernate и Interceptor в совокупном корне
Предполагая, что объект A имеет список объектов B, а B связан с объектом C.
Используя NHibernate, если я обновляюсь как экземпляр C, как я могу получить уведомление о том, что "что-то", связанное с одним экземпляром (и каким экземпляром) A, было обновлено?
Используя перехватчик, я знаю, что C был обновлен, но как автоматически следовать пути C -> B -> A (C, например, не знает B, а C не всегда является объединенным корнем).
1 ответ
В зависимости от специфики вашего сопоставления, вы всегда можете найти связанный B
сущности каждый раз, когда сущность C
модифицируется. При условии B
относится к C
по связи с внешним ключом вы можете искать все B
(или единственный B
), который имеет внешний ключ, равный C
первичный ключ
Если в то же время B
не знает о A
, вы можете использовать аналогичную процедуру, чтобы уведомить, какой экземпляр A
это связано с. Или, если в другой руке B
имеет ссылку на A
, вы можете использовать эти отношения вместо.
Конкретная реализация будет зависеть от того, как именно вы отображаете эти объекты вместе.