使用ADO.NET数据服务更新对象时出现问题。
首先,我创建了一个可以加载和存储数据的服务。它是实现IUpDataTable接口的基本数据上下文。
之后,我创建了一个简单的服务客户机。我刚刚在Visual Studio中使用“添加服务”引用创建了它。基本上,这项服务是可行的。我可以查询对象并存储新对象。但是我不能更新对象。
这是我在客户端上的更新代码:
var ctx =
new TeamDataContext(new Uri("http://localhost:8637/TeamInfoService.svc"));
var team = ctx.Teams.First();
team.TeamName = "New Team Name";
ctx.UpdateObject(team);
ctx.SaveChanges();
我的主要问题是,没有为我要更新的对象调用IUPDatable.setValue()。在不更新服务器上的对象的情况下,只调用IUPDatable.saveChanges()。
当我创建一个新对象时,会在服务器上调用iupdatable.setValue来设置属性。
我做错了什么?我的期望是错的吗?更新对象时是否应调用IUPDatable.setValue?或者我需要做额外的事情来做更新?
编辑:我刚刚看了客户机和服务器之间的HTTP请求。客户端将发送包含更改的HTTP合并请求。但是,我仍然不知道为什么不存储更改。