我們正在啓動一個新的應用程序。我們想要使用實體框架。我們有點害怕不小心刪除SQL行(特別是通過設置相關數據等)實體框架:全局禁用刪除
我想禁用每一個刪除,因爲我們只是用「validUntil」列標記每一行,並且從不刪除行。
我看到了that it can done by roles in sql,但我希望所有的邏輯和控制都在代碼中。
也許在實體框架的核心有一個新的功能,以實現這一目標?我知道它仍然可以用EF寫行sql,但我們並不害怕這種情況。
我也嘗試刪除實體關係的setters更放鬆,但它打破了EF的正常功能,並沒有看起來像一個好主意。
我在上面的鏈接中看到了使用存儲庫模式的建議,但是看起來它不是好的做法。
如何安全使用EF? 謝謝!
它不工作。我有一對多的訂閱帳戶。 帳戶ID == 13有一個訂閱(ID == 5)。 現在我設置了var x = _context.Accounts.Include(b => b.Subscriptions).First(a => a.AccountId == 13); then x.Subscriptions = null; 現在在覆蓋保存更改沒有狀態==刪除的實體存在,但一旦saveChanges完成訂閱ID == 5從數據庫刪除... – arielorvits
您使用EF 6或EF核心? –
核心。我更改刪除級聯嚴格,所以它解決了這種情況 – arielorvits