Как сначала обновить строку, используя код Entity Framework? - PullRequest
9 голосов
/ 08 февраля 2011

Как мне обновить строку в базе данных? Метод обновления отсутствует, и если я использую add, а идентификатор первичного ключа уже существует, я получаю исключение. Пожалуйста, приведите пример, если это возможно.

Ответы [ 2 ]

21 голосов
/ 08 февраля 2011

Самый простой способ:

(1) получить существующую строку, используя pk.

(2) обновить свойства.

(3) вызвать SaveChanges () в контексте.

например

        var student = context.Students.Find(42);

        student.Description = "updated";

        context.SaveChanges();
19 голосов
/ 18 февраля 2013

Вот способ, который работал для меня без необходимости сначала делать запрос:

context.Students.Attach(student);
context.Entry(student).State = EntityState.Modified;
context.SaveChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...