Почему ссылочные объекты добавляются в контекст, а не присоединяются, без изменений?
Я прикрепил сущности к контексту с EntityState.Unchanged
на который будет ссылаться новая сущность, которую я добавлю позже через DbContext<T>.Add()
, Add()
добавляет объект, но он также добавляет другие объекты, на которые он ссылается, в добавленную коллекцию в ObjectStateManager
несмотря на то, что упомянутые ранее находились в неизмененной коллекции. Под отладчиком я вижу ссылочные объекты в обеих коллекциях. Итак, я получаю вставки, встречающиеся в ссылочных дочерних объектах, когда я этого не хочу.
1 ответ
Решение
Ранее прикрепленные объекты были идентичны структурно, но это были разные ссылки. EF, кажется, использует ReferenceEquals
под одеялом.