Что произойдет, если я добавлю существующий объект сущности в DbContext? - PullRequest
0 голосов
/ 20 декабря 2011

В моем проекте я использую следующий код для копирования существующей записи в качестве новой записи.

  // Copying existing purchase order
  Purchase newPurchase = this.currentPurchase
  // Add copy to DbContext
  this.boManager.Add(newPurchase);
  // Saveing changes and handle exceptions
  CommitChanges();

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

Итак, мой вопрос:

  1. Правильно ли мое толкование внутренней работы Сущности?
  2. Следует ли мне полагатьсяэтот код для копирования новой функции?

1 Ответ

0 голосов
/ 20 декабря 2011

Покупка newPurchase = this.currentPurchase

Это только копирует ссылку на объект currentPurchase, а не создает новый объект.Вам следует использовать clone () или просто создать объект «Покупка», после чего вы можете отобразить все поля из currentPurchase в новый объект и добавить новый объект в контекст.

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