модель данных:зависимости Resolve на модели данных без каскадного удаления
tTemplate (TemplateId INT PK)
tPage (PageId INT PK, TemplateId INT FK)
tEmailMessage (EmailMessageId INT PK, TemplateId INT FK)
Требования:
Удаление шаблона допускается только в том случае, если на нем нет зависимостей.
TemplateService отвечает за удаление шаблонов:.
новый TemplateService() Удалить (MyTemplate);
Модули страницы и электронной почты зависят от модуля Template, который, в свою очередь, счастливо не знает об этих зависимостях. В некоторых настройках модуль Page или Email не будет присутствовать. Как я могу решить зависимость от базовой модели данных? Как заставить TemplateService запустить запрос, чтобы узнать, нормально ли удалять элемент?
Я провел некоторое исследование событий EventBrokers и Message Queues, но не смог понять, как они могут мне помочь. Я также не вижу, как это может решить использование модели событий .net.
Я действительно не ищу способ обеспечения целостности данных, а способ предоставления межсервисной связи без возникновения нежелательных зависимостей службы. У меня может быть реализация PageService, где удаление шаблона будет в порядке, и где зависимость будет разрешена, установив tPage.TemplateId равным null. В других реализациях я могу создать каскадное удаление.
Я действительно не ищу способ обеспечения целостности данных, а способ обеспечения межсервисной связи без возникновения нежелательных зависимостей службы. Я редактировал свое оригинальное сообщение. – Marcus