当将Silverlight与WCF服务库一起使用时,如何解决两个不同用户加载记录的老化可能性,对该记录进行不同的更改然后更新。换句话说,更新WCF服务时如何知道它检索的数据与应用更新之前获取的数据相同?
您是否需要根据数据库中的值检查原始加载的值(即在更新前调用原始查询)?
我希望能有更开箱即用的答案。
答案 0 :(得分:1)
您的意思是使用EntityFramework吗?如果是这样,这是我使用的策略:
在客户端检索数据时,您会看到实体的“RowState”属性已消失。我所做的是使用“部分类”功能在客户端添加了属性。我在本地管理该RowState值的值。
当数据返回服务器进行更新时,只发送“RowState”属性修改过滤的内容。
在Update方法上,调用对象的ApplyCurrentValues()方法。
也许有一个更好的解决方案,但这就是我在我的项目中使用的;它适用于我的情况:)
祝你好运