簡體   English   中英

實體框架4刪除呼叫不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM