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, вы можете использовать эти отношения вместо.

Конкретная реализация будет зависеть от того, как именно вы отображаете эти объекты вместе.

Другие вопросы по тегам