Это старая ветка, но если кому-то интересно, чтобы расширить решения Ladislav, мы придумали полезный метод расширения для EF 4.1 и новее:
public static void SetModified<TEntity>(
this DbEntityEntry<TEntity> entry,
IEnumerable<Expression<Func<TEntity, object>>> expressions) where TEntity : class, IEntity
{
foreach (var expression in expressions)
entry.Property(expression).IsModified = true;
}
Очевидно, вынеобходимо убрать ограничение IEntity, если вы не используете интерфейс с тем же именем для своих POCO.
Пример использования будет:
var user = new User
{
Id = Request.Id,
UserName = Request.UserName,
FirstName = Request.FirstName
};
var expressions = new List<Expression<Func<User, object>>>
{
x => x.UserName,
x => x.FirstName
};
context.Entry(user).SetModified(expressions);