Контекст закрывается, когда EF пытается получить доступ к нулевому свойству - PullRequest
0 голосов
/ 27 января 2011

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

Экземпляр ObjectContext был удален и не можетбольше использовать для операций, требующих подключения.

Ну, это не так уж и хорошо, потому что это дует такими частями.Могу ли я что-нибудь сделать, чтобы попытаться сделать это, только когда контекст еще открыт?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 27 января 2011

У вас включена отложенная загрузка, но вы утилизировали ObjectContext. Либо не утилизируйте его так скоро, либо отключите ленивую загрузку .

1 голос
/ 27 января 2011

EF Framework также поддерживает 'нетерпеливую загрузку'.Это означает, что связанные объекты будут возвращены в том же запросе.Для этого, конечно, вы должны заранее знать, какие связанные объекты вам нужны, но я часто использую эту технику.Возможно, стоит попробовать его в вашем сценарии.

Вот тот же пример кода MSDN: (http://msdn.microsoft.com/en-us/library/bb896272.aspx)

// Define a LINQ query with a path that returns 
// orders and items for a contact.
var contacts = (from contact in context.Contacts
              .Include("SalesOrderHeaders.SalesOrderDetails")
                select contact).FirstOrDefault();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...