1
我需要爲可以發送電子郵件的各種實體建模一個smtp
服務器配置,所以我有一個表爲smtp
服務器的設置。模型「有一個」的關係,其中多個表可以有一個東西
例如:發送電子郵件的實體是「房間」和「服務器」 - 它們生活在不同的表格中,因爲它們沒有共同之處,但它們都指向可選的電子郵件配置。
雖然在房間和服務器表中都有SmtpConfigId
很簡單,但我看不到如何進行級聯刪除,如果刪除了房間或服務器,則其相應的smtp配置也會被刪除。
當然,我可以爲每個可以發送電子郵件的實體表複製smtp配置字段,我認爲如果電子郵件配置位於其自己的表中,發送郵件的業務邏輯將會被簡化。
除了發送電子郵件的實體之間的電子郵件配置(1:1
)以及它們的smtp配置之外,還有形式字母問題,它是1:M
,我還希望級聯刪除來清理如果創建它們的實體被刪除,則會形成字母。
我以正確的方式思考這個問題,以及建模它的好方法是什麼?在刪除觸發器?
這基本上是我最終得到的:一個ownertype的枚舉和一個引用擁有表的PK的ownerid字段。然後,對於每個擁有的表格(房間,服務器等),我添加了「after delete」觸發器來清除引用的項目。 – user688026