我們在MS SQL數據庫中擁有70多個表的ASP MVC實體框架6代碼優先項目。EF代碼第一級聯NULL
對於每個表上的每條記錄,我們都存儲修改過的用戶最後一條記錄。幾乎每個表的結構是這樣的:
public class TableA
{
public int Id{ get; set; }
.....
public DateTime? DateModified { get; set; }
public int? UserModifiedId { get; set; }
public virtual ApplicationUser UserModified { get; set; }
}
我們的問題是刪除用戶時,如果用戶ID是在任何表格的財產UserModifiedId的,我們正在一個錯誤。
我們需要將EF設置爲NULL UserModifiedId = UserId所有表的UserModifiedId。
在過去,我們將此添加到表ON DELETE SET NULL,但EF不允許設置這樣的表。
任何想法我們該怎麼做到這一點?
修訂
我們已經知道EF管理,這是孩子們被加載到上下文,但我們不能加載我們要刪除用戶每次超過70+表。
另一個解決辦法 - 不真正刪除用戶,但標誌他們作爲「軟刪除」,即通過設置「user.Deleted = true」屬性。 –