我有一个ObjectContext与更新方法。该方法将一个通用对象作为参数。我需要将此对象附加到ObjectContext并使用对象所具有的更改来更新数据库。例如,我创建了一个与数据库中的键和实体具有相同键的新对象,但其中一些字段是不同的。我想将对象附加到数据库中相应的实体,并让它保存新对象所做的更改。以下是我在更新方法:
ObjectContext从分离状态更新对象
public void Update(BaseObject data, entitySetName)
{
AttachTo(entitySetName, data);
Refresh(RefreshMode.ClientWins, data);
SaveChanges();
}
刷新后,得到的数据从数据库中的字段覆盖。退出刷新也不会更新数据库记录。我错过了一步吗?
我添加了ApplyOriginalValues(entitySetName,data);刷新之后,刷新之前和删除之前刷新所有与之前使用数据库中更新值更新的结果相同的结果。 – MBU
我认为这是反正...我编辑上面。您可以在保存之前使用Context.DetectChanges(),或者告诉状态管理员您的数据已被修改。 –