我正在创建一个Web服务方法,并在这种情况下使用应用当前值来更新记录。我得到例外:
错误: - 在ObjectStateManager中找不到具有与提供的对象的键匹配的键的对象。验证提供的对象的键值是否与必须应用更改的对象的键值匹配。
以下是上述代码:
TestEntities db = new TestEntities();
User user = new User();
int userId = _userRepository.Find(x => x.UserId == userid).FirstOrDefault().Id;
User existingUser = _userRepository.Find(x => x.Id == userId).SingleOrDefault();
user = _userRepository.Find(x => x.Id == userId).SingleOrDefault();
db.ApplyCurrentValues(existingUser.EntityKey.EntitySetName, user);
db.SaveChanges();
只要断点符合ApplyCurrentValues
方法,就会出现异常。
答案 0 :(得分:1)
请参阅此链接:http://treenovum-wss.com/alavpa/Lists/Posts/Post.aspx?ID=106
不知道为什么这样做有效,但它对我有用,我的问题也解决了。