Я ищу способ обновить свойство сущности, зная его первичный ключ, без предварительного запроса.
Я пришел к следующему решению:
var order = new OrderEntity()
{
Id = 5
};
db.Orders.Attach(order).State = EntityState.Unchanged;
order.Name = "smth";
db.SaveChanges();
Что, кажется, работает нормально, поскольку сгенерированный SQL - это именно то, что я ожидаю:
UPDATE "Orders" SET "Name" = @p0
WHERE "Id" = @p1;
Вопрос : это правильный способ сделать это?
Я не могу найти подтверждения об этом ни в официальной документации, ни где-либо еще в Интернете. Подобные вопросы касаются Entity Framework (не-Core), и они, похоже, используют разные стратегии, например установку EntityState.Modified
вместо Unchanged
. Я тоже это попробовал, но он дает эффект обновления всех свойств, а это не то, чего я хочу достичь. Поэтому мне интересно, есть ли что-то, чего мне не хватает в решении выше.
Спасибо.