Как этот сценарий может вызвать UpdateException в EntityFramework при вызове SaveChanges? - PullRequest
1 голос
/ 27 января 2011

Я не могу понять строку, выделенную жирным шрифтом на этой странице msdn: -

http://msdn.microsoft.com/en-us/library/bb738618.aspx

SaveChanges может генерировать UpdateException, когда объект, добавленный в ObjectContext, не может быть успешно создан в источнике данных. Это может произойти, если строка с внешним ключом, заданным отношением, уже существует. Когда это происходит, вы не можете использовать Обновить, чтобы обновить добавленный объект в контексте объекта. Вместо этого перезагрузите объект со значением OverwriteChanges для MergeOption.

В таблице столбец внешнего ключа может иметь одно значение несколько раз. например Внешний ключ DepartmentID в таблице Users: более одного пользователя может иметь один и тот же внешний ключ DepartmentID.

Так как это может вызвать UpdateException?

1 Ответ

0 голосов
/ 27 января 2011

Легко. У вас есть объект в вашем контексте в состоянии Added со значением PK чего-то уже в БД. Это часто случается, когда люди пытаются использовать объекты-заглушки неправильно. Если вам нужна дополнительная помощь, вам нужно изолировать свою проблему и опубликовать свой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...