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 关注
- 85 浏览
添加回答
举报