3 回答

TA貢獻1895條經驗 獲得超3個贊
之前添加這個context.savechanges()
context.Entry(cat).State = System.Data.Entity.EntityState.Modified;

TA貢獻1813條經驗 獲得超2個贊
在您調用的地方EditSaveCategoryAsync,您的SelectedCategory對象(大概)是您從數據庫中檢索到的對象。
然后,您在數據庫中選擇同一行:-
x => x.CategoryID == category.CategoryID
并使用已有的相同值(或基于您的 UI 代碼的某些變體)更新它:-
cat.CategoryName = category.CategoryName;
SaveChanges將指示您的對象已被修改(因為您已經在跟蹤對象上設置了屬性,盡管設置為相同的值),但是當您檢查數據庫時,它似乎尚未更新,因為它已設置為已經設置的內容曾是。
要更新,您的調用代碼應該是這樣的:-
var cat = new Category
{
CategoryName = "New name", // or value from some other control
CategoryID = SelectedCategory.CategoryID
};
_client.EditSaveCategoryAsync(cat);

TA貢獻1884條經驗 獲得超4個贊
你的代碼段沒有問題。我嘗試使用你的代碼并更新我的數據庫,它運行得很好。我認為類別表肯定應該更新。
我唯一懷疑的是連接字符串,請檢查您的連接字符串,并確保您正在修改的數據庫是您正在連接的數據庫,然后刷新您的數據庫表。另外,由于WCF是由IIS托管的,不使用集成安全性來連接數據庫,我們最好使用用戶名/密碼模式來連接。
最后,我建議您添加一個斷點來調試并檢查代碼是否成功檢索數據并更新條目。
- 3 回答
- 0 關注
- 152 瀏覽
添加回答
舉報