我正在使用Visual Studio 2012.我在本地數據庫(巧妙地命名爲Database1)中有一個非常簡單的Products表。它有兩個字段:id和Name。我預裝了一些測試數據。實體框架不會將數據刷新到數據庫
以下代碼應更新第一個產品的名稱。在內部,它的確如此。我可以檢索所有產品並查看第一個人的姓名是「襯衫」。但是這個改變永遠不會被刷新到數據庫。該記錄從不更新。檢查數據庫顯示該名稱未被更改。
我的問題很簡單:爲什麼更改沒有發送到數據庫?
using (var context = new Database1Entities())
{
var products = context.Products;
products.First().Name = "Shirt";
context.SaveChanges();
}
在此先感謝。
= = = = = = = = = = = = = = = = - = - = - = = = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - =
編輯:
我盡我所能在這裏輸入完整的代碼和輸出。但是,無論我做什麼,我都會繼續收到「您的帖子似乎包含未正確格式化的代碼」錯誤消息。 30分鐘後,我放棄了。
編輯:
代碼和輸出是在這裏:http://pastebin.com/GmQtwAND
您是否確定在上下文中啓用了更改跟蹤? – dksh
但是你是否在改變任何值?襯衫=襯衫看起來像我一樣... – ErikEJ
是的,context.Configuration.AutoDetectChangesEnabled = true。 此外,我預先加載到數據庫中的初始值是「Hat」,即使將其設置爲「Shirt」後,該值仍保留在數據庫中。 –