У нас работает длинный контекст структуры сущности (не спрашивайте, почему ...) с запросом, который извлекает сущность пользователя с ее ассоциациями:
var user = entities.UserSet.Include("UserAddresses")
.Where(u => u.Id == 1).FirstOrDefault();
Если строка адреса пользователя удаляется из базы данных (другим процессом), и мы снова запускаем этот запрос, мы все равно получим удаленную строку, даже если мы устанавливаем MergeOption перед вызовом (для зайдите в базу данных в любом случае и не используйте кеш):
(пробовал любой набор в запросе, но безуспешно)
entities.UserSet.MergeOption = System.Data.Objects.MergeOption.OverwriteChanges;
entities.UserAddress.MergeOption = System.Data.Objects.MergeOption.OverwriteChanges;
entities.UserSet.Include("UserAddresses").MergeOption = System.Data.Objects.MergeOption.OverwriteChanges;
Может кто-нибудь помочь с этим вопросом?