0

Вот моя ситуация. Я использую Entity Framework 4 с веб-APIEntity Framework + Web API, возвращаемые объекты (комплекс, коллекции и т. Д.) Вне DbContext

Структура моего кода довольно проста: у меня есть уровень сервиса, в котором организован весь мой API-интерфейс для отдыха, у меня есть мой уровень бизнес-логики, где у меня есть бизнес-контроллеры для управления транзакциями между остальные вызовы и уровень данных. Наконец, у меня есть слой данных с родовыми репозиториями и DAO для доступа ко всему этому.

В моих бизнес-контроллерах я использую для использования non transactionnal (только для чтения) ИЛИ транзакционные (методы CRUD) DbContext.

При возврате значений моему API REST, я разбираю его в JSON.

Проблема заключается в том, что я держу имея это исключение: Newtonsoft.Json.JsonSerializationException

ли я вернуть Entities/коллекции/списки вне моей помощи {} заявления, которое я думаю, что EF не нравится по умолчанию ,

В режиме отладки иногда мне удастся получить все данные, но не все время. Поскольку мои объекты поступают из запроса в DbContext, я думаю, что поведение заключается в удалении загруженных под-свойств после того, как контекст был удален.

Факт, я хочу сохранить свою структуру, как есть, и мне было интересно следующее:

Есть ли способ возвращения полных (не ленивые, загруженные) объектов после выхода из используя {} заявления?

спасибо

+0

После использования оператора DBContext был закрыт, поэтому вы не можете ничего сделать против него, не выбрасывая исключение. –

+0

Получите дополнительную информацию из JsonSerializationException? Например, если ваши объекты ссылаются друг на друга, вы можете попасть в бесконечный цикл во время сериализации? –

ответ

0

я на самом деле читать больше о поведении сущностей рамочные. То, что я получаю, на самом деле является стандартным для EF. Мне нужно заставить контекст загружать() мои ссылки на объекты, чтобы получить их после выхода из контекста.