[英]Entity Framework 4 Delete call not working
我正在嘗試使用EF從我的表中刪除一條記錄,但沒有任何反應。 代碼執行沒有錯誤,但是記錄只保留在數據庫中。 我在其他地方有幾乎相同的代碼。
using (var DB = new PTNWebConfigurationModel.PTNWebConfigurationEntities())
{
var account = DB.Accounts.Where(a => a.LoginID == loginID).FirstOrDefault();
//Load existing session for the Account, otherwise create a new one.
if (!LoadExistingSession(ip, DB, account))
{
CreateNewSession(ip, DB, account);
}
AccountsSession sessionsToDelete = DB.AccountsSessions.Where(a => a.RemoteIP == ip && a.AccountID == 1).FirstOrDefault();
if (sessionsToDelete != null)
{
DB.DeleteObject(sessionsToDelete);
DB.SaveChanges();
}
}
我還嘗試了以下選項:
DB.DeleteObject(sessionsToDelete);
DB.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave);
DB.AcceptAllChanges();
我也沒有使用using塊,而只是實例化了實體對象,但是那也不起作用。
我喜歡這樣的問題。
在大多數情況下,我看到ORM不執行命令(並且沒有錯誤)的原因是由於對基礎數據表的更改未在該表的生成類中表示。
您可能會刷新架構/類模型,然后重試。
從Chris的答案繼續進行 ,我過去發現的另一件事是,如果您首先進行EF數據庫建模,那么您可能已經創建了鏈接兩個關聯表的外鍵,但是該鍵尚未在關系。 這可能會導致EF有點困難。 因此,請檢查數據庫中的所有FK。 希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.