使用CurrentValues.SetValues(object)它总是更新记录,即使对象属性值没有变化。我说它通过查看我桌子上的LastUpdated字段来更新行。如果对象属性值没有变化,有没有办法避免在EF中触发更新。现在我做的是创建一个反射,以确定是否有脏对象并返回到true,从此我将知道是否需要触发更新。这是我的实施
var person = _context.Persons.Find(personInfo.Id);
if (ObjectHelper.IsDirtyObject(person, personInfo))
{
_context.Entry(person).CurrentValues.SetValues(personInfo);
}