使用EF6,我在SQL數據庫中有兩個表,並且我首先使用數據庫從數據庫創建EF圖。未強制實體框架參照完整性
我的數據庫缺少一個表的PK和另一個表中的外鍵之間的外鍵約束。
與其將外鍵約束添加到數據庫中,我將其創建爲EF模型中的關聯。
該關聯在EF模型中看起來不錯,它具有正確的主體和從屬關係。
但是,如果我在存在依賴項時從主體表中刪除了一行,那麼參照完整性將無法啓動,並且主要行將被刪除。
我知道我只需將關係添加到SQL數據庫並從數據庫更新模型即可。但我想了解EF的功能範圍,以及是否應該可以在EF模型中添加關係,而不是在SQL數據庫中添加關係,並且它仍然可以工作?
在我看來,如果聯繫(關係)存在於EF而不是MSSQL中,那麼當您通過EF刪除一行時,關聯在參照完整性時將被忽略?
你想要的功能已經與EF一起存在,你只是想正確使用它,如果你想刪除父母並強制刪除它的所有依賴者,你需要將級聯刪除設置爲true。查看你的遷移文件是什麼設置的。同時,刪除父母時,你可能還需要加載它的所有孩子。 – 2014-12-10 03:32:24
謝謝。我不想查找級聯刪除,我想要在嘗試刪除具有相關依存關係行的主體行時引發參照完整性異常。正如我在問題中所說的那樣,我可以將關係添加到數據庫模式中,但我想了解EF在參照完整性方面如何處理關聯。看起來,如果EF沒有在數據庫模式中存在對應關係,那麼EF允許您創建一個關於參照完整性無關的關聯? – 2014-12-10 10:33:11