Entity Framework извлекает разные экземпляры - PullRequest
2 голосов
/ 03 января 2012

Я предполагал, что для данного ObjectContext, если я выполню запрос и получу уникальный объект (т. Е. С использованием первичного ключа (ей)), второй запрос с использованием того же ObjectContext даст мне тот же тот же экземпляр объекта.

Однако, это не обязательно так.

Может кто-то пролить свет на это?

Спасибо!

Вот некоторыекод: (в этом случае у меня есть составной ключ)

var x = context.MyEntity.FirstOrDefault(e => e.Key1 == 1 && e.Key2 == 5);
var y = context.MyEntity.FirstOrDefault(e => e.Key1 == 1 && e.Key2 == 5);  
var isSame = x == y;  

ОБНОВЛЕНИЕ

Я считаю, что ответ на эту проблему заключается в MergeOption для сущностей.Я заметил, что те, которые не работают, установлены на NoTracking, в отличие от опции AppendOnly, который используется по умолчанию.Вероятно, это корень проблемы, с которой я столкнулся.

1 Ответ

0 голосов
/ 04 января 2012

Проблема связана с неправильной настройкой MergeOption. В данном конкретном случае оно было неправильно установлено на NoTracking.

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