У меня есть удостоверение личности со мной, и у меня есть имя со мной. Итак, по сути, мой метод имеет только эти параметры:
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 свойство пользователя? Я схожу с ума.
Db
выше к контексту базы данных? Если это так, то контексты в мирах «сначала модель» и «сначала база данных» разрабатываются как недолговечные объекты, основанные на шаблоне «единица работы». Почему бы не создать новый контекст для выполнения этой операции? - person Adam Robinson   schedule 06.08.2012Db
. - person Adam Robinson   schedule 06.08.2012