@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, которых нету в БД и которые я хотел вставить.
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
yarosroman
@yarosroman Куратор тега C#
C# the best
Если вам нужна репликация бд, то для многих есть уже готовые решения.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы