Почему я сталкиваюсь со всеми препятствиями при простом обновлении в EF?

У меня есть удостоверение личности со мной, и у меня есть имя со мной. Так что, по сути, мой метод имеет только эти параметры:

public void Foo(int id, string name)
{
}

и у меня есть эта часть логики внутри метода:

User user = new User(){ Id = id, Name = name };
Db.Entry(user).State = System.Data.EntityState.Modified;
Db.SaveChanges();

Вот и все. Ничего особенного. Я получаю эту ошибку:"An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key"

и этот ответ Ладислава Мрнки:Объект с таким же ключом уже существует в ObjectStateManager. ObjectStateManager не может отслеживать несколько объектов с одним и тем же ключом

. предлагает использовать context.Entry(oldEntity).CurrentValues.SetValues(newEntity);, но на самом деле у меня нет с собой oldEntity. Может ли кто-нибудь просто сказать мне, как мне обновить только 1 свойство пользователя? Я схожу с ума.

8
задан Community 23 May 2017 в 12:20
поделиться