數據模型:解決依賴性而不級聯刪除
tTemplate(TemplateId INT PK)
TPAGE(的PageId INT PK,TemplateId INT FK)
tEmailMessage(EmailMessageId INT PK,TemplateId INT FK)
要求:
只有在沒有依賴關係的情況下,才允許刪除模板。
的TemplateService負責刪除模板:
新TemplateService()刪除(MyTemplate的);
頁面和電子郵件模塊依賴於模板模塊,而模塊又快樂地不知道這些依賴關係。在一些設置中,頁面或電子郵件模塊不會出現事件。我將如何解決對底層數據模型的依賴性?如何讓TemplateService開始查詢以確定是否可以刪除該項目?
我已經對EventBrokers和Message Queues進行了一些研究,但沒有看到他們獨自如何幫助我。我也看不到如何單獨使用.net事件模型來解決這個問題。
我並不是在尋找一種維護數據完整性的方法,而是一種允許進行服務間通信而不會導致不必要的服務依賴性的方法。我可能會有一個PageService的實現,其中刪除模板是可以的,並且可以通過將tPage.TemplateId設置爲null來解決依賴關係。在其他實現中,我可能想要創建級聯刪除。
我並不是在尋找一種維護數據完整性的方法,而是一種允許進行服務間通信而不會導致不必要的服務依賴性的方法。我編輯了我原來的帖子。 – Marcus 2009-02-11 12:07:09