Я пытаюсь вернуть в приложение список приложений через Json (используя Ajax). Я уже пробовал двумя способами:
Использование выбора
var query = (from ad in db.AddressNamePlaces.AsNoTracking()
where ad.cepPlace == zipCode.Replace("-", string.Empty)
select ad ).ToList();
.Где (выражение) метод:
var query = db.AddressNamePlaces.AsNoTracking().Where(l => l.cepPlace == zipCode.Replace("-", string.Empty)).ToList();
Оба они работают нормально.
Соображения: связанные таблицы в AddressNamePlace содержат более 770 тыс. записей, и если я использую без метода .AsNoTracking(), приложение возвращает в Json исключение OutOfMemoryException. Entity Framework создает множество объектов для каждой записи, а метод .AsNoTracking() избегает этого.
Если я использую вышеуказанные запросы, я получаю следующую ошибку: «Когда объект возвращается с параметром слияния NoTracking, Load может вызываться только тогда, когда EntityCollection или EntityReference не содержат объектов».
Итак, что здесь не так?