Почему ссылочные объекты добавляются в контекст, а не присоединяются, без изменений?

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

1 ответ

Решение

Ранее прикрепленные объекты были идентичны структурно, но это были разные ссылки. EF, кажется, использует ReferenceEquals под одеялом.

Другие вопросы по тегам