самотрекинг при ошибке клиента - PullRequest
0 голосов
/ 02 декабря 2010

Я использую SelfTracking в сущности.

Проблема в том, что когда я сохраняю данные, все работает нормально, но когда я сохраняю их во второй раз, он хочет добавить новый объект, но я хочу обновить только старый или неделать что-нибудь, если тот не был изменен.

Я опишу это ниже:

У меня есть сущность пользователя.Я создаю его, выполняю sth, а затем создаю контекст, сохраняю его и уничтожаю контекст, но пользователь не уничтожается.

Все работает нормально, пользователь сохраняется в базе данных.Затем я призываю тот же метод.Создайте новый контекст, сохраните его и обнаружите нарушение дубликата ключа (он не знает, что должен обновить пользователя, но пытается вставить его).

Context.User.ApllyChanges (MyUser);Context.SaveChanges ();

Я пробовал разные варианты, и каждый раз возникает одна и та же ошибка.Что я делаю не так?

Спасибо за помощь.

Когда я нажимаю "Сохранить", создается новый контекст, но у меня тот же объект EntityObject, который был у меня.Затем он хочет добавить новый объект

1 Ответ

1 голос
/ 02 декабря 2010

Я работал с POCO (не самоконтроль), но я считаю, что это также относится.

Дело в том, что вы должны знать, является ли это New или и Update, и добавить объект в контекст иизменить его состояние на изменено .Если вы оставите его как добавленный, EF попытается вставить его в базу данных.

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