方法:
public virtual int Update(T entity, params Expression<Func<T, object>>[] updatedProperties)
{
var dbEntityEntry = dataContext.Entry(entity);
if (updatedProperties.Any())
{
foreach (var property in updatedProperties)
{
dbEntityEntry.Property(property).IsModified = true;
}
}
else
{
foreach (var property in dbEntityEntry.OriginalValues.PropertyNames)
{
var original = dbEntityEntry.OriginalValues.GetValue<object>(property);
var current = dbEntityEntry.CurrentValues.GetValue<object>(property);
if (original != null && !original.Equals(current))
{
dbEntityEntry.Property(property).IsModified = true;
}
}
}
return dataContext.SaveChanges();
}
实现:
_userRepository.Update(user,x=>x.Enabled);