WCF и с DynamicProxies

У меня есть сервис, который использует EF 6.1.3 для доступа к базе данных. У меня есть сущности POCO для хранения результатов EF, но результаты - это динамические прокси вместо сущности POCO.

Проблема в том, что когда служба пытается отправить клиенту этот динамический прокси-сервер, я получаю сообщение об ошибке при получении ответа http.

Я попытался отключить создание объектов прокси в моем dbContext, а затем я получил свой настоящий объект POCO, поэтому у меня нет проблем.

Но на самом деле я не знаю, что такое динамические прокси-серверы, когда их использовать и когда я могу их отключить.

РЕДАКТИРОВАТЬ: я отключил ленивую загрузку.

Благодарю.

1 ответ

Решение

При создании экземпляров типов объектов POCO Entity Framework часто создает экземпляры динамически генерируемого производного типа, который действует как прокси для объекта. Этот прокси-сервер переопределяет некоторые виртуальные свойства объекта, чтобы автоматически подключать хуки для выполнения действий при обращении к свойству. Например, этот механизм используется для поддержки отложенной загрузки отношений.

Источник: https://msdn.microsoft.com/en-us/data/jj592886.aspx

В вышеуказанной статье вы найдете все, что вам нужно!

Другие вопросы по тегам