注意已解决此问题已被编辑更多信息请查看编辑
在MVC中使用实体模型执行回发时。模型绑定器忽略绑定原始值。因此,如果有人使用保存更改的衍生物来审核日志(无论是覆盖还是绑定到事件),它很可能无法正确记录您的更改以解决此问题,您可以通过使用此功能解决问题克隆当前值,重新加载对象,然后重置当前值。
void SetCorrectOriginalValues(DbEntityEntry Modified)
{
var values = Modified.CurrentValues.Clone();
Modified.Reload();
Modified.CurrentValues.SetValues(values);
Modified.State = EntityState.Modified;
}
您可以通过更改跟踪器或上下文中的输入功能访问DbEntityEntry。如果有任何改进或我错过的东西让我知道,所以我可以纠正它们。