Задать вопрос
@iluxa1810

Как вставлять новые объекты в EF?

Допустим, у меня 2 контекста с одинаковой структурой и я выполняю обновление данных из одного констекста в другой.

Где-то обновляется, а где-то нужно вставить совершенно новые данные из предыдущего контекста с сохранением Id.

Собственно вопрос:

Допустим в контексте назначения уже есть объект User , который имеет объект Request, а тот в свою очередь ссылается на коллекцию RerquestData.

Получается, что мне к уже имеющемуся User нужно вставить дополнительные данные.

Я как-то должен уведомить EF, что мне нужно сделать именно вставку, а не обновление(id!=0) или он умный и сам должен это разрулить?

Cейчас, я выбираю из контекста назначения User и в объекте Request создаю новую коллекцию, в которую копирую данные из источника.

Однако, при сохранении ругань:

Database operation expected to affect 1 row(s) but actually affected 0 row(s)

Если скачать отладочные символы и спустится в глубь EF, то я вижу, что он пытается сделать обновление по ID, которых нету в БД и которые я хотел вставить.
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
yarosroman
@yarosroman Куратор тега C#
C# the best
Если вам нужна репликация бд, то для многих есть уже готовые решения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы