3 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
之前添加這個(gè)context.savechanges()
context.Entry(cat).State = System.Data.Entity.EntityState.Modified;

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

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