У меня проблема с сериализацией прокси-классов с лениво загруженными навигационными свойствами.Ошибка, которую я улавливаю, выглядит следующим образом:
ObjectDisposedException: экземпляр ObjectContext был удален и больше не может использоваться для операций, требующих подключения.
Сериализацияпроисходит сбой, когда Newtonsoft.Json пытается это сделать:
JsonConvert.SerializeObject(objectGraph, _settings)
Например, objectGraph
выглядит примерно так:
class Locations {
public virtual ICollection<Department> Departments;
}
И свойство Department не может быть загружено, поскольку контекст ужеdisposed.
Вопрос:
Как предотвратить загрузку отложенных загруженных свойств сериализатором JSON?
Я пытался использовать # 1 распознаватель контрактов , # 2 конвертер типов , но они не помогли.Похоже, что объект загружен полностью, прежде чем применять эти преобразователи или преобразователи.Я предполагаю, что должен быть какой-то способ предотвратить загрузку ленивых свойств.
Есть идеи?
Для тех, кто интересуется кодом класса макета: git repo .