Каковы будут последствия, если я отключу ProxyCreation глобально в Entity Framework? - PullRequest
2 голосов
/ 20 апреля 2019

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

Мой вопрос: каковы будут последствия, если я отключу ProxyCreation глобально в моем проекте (чтобы избежать проблем с сериализацией) ... ???

1 Ответ

1 голос
/ 20 апреля 2019

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

Я бы с осторожностью отнесся к необходимости сериализации объектов.Например, если необходимо вернуть сущности из контроллера / API, я бы рекомендовал определить модели представления POCO или DTO, которые отражают данные, необходимые потребителю для этой цели, а не сериализовать сущности.Основными причинами этого является то, что при сериализации сущности могут предоставлять больше информации о ваших данных, чем нужно потребителю, что также означает, что по сети передается больше данных, чем необходимо.Это также может представлять вводящее в заблуждение представление данных в том смысле, что коллекции / ссылки, которые не загружены с нетерпением, будут #null, значит ли это позже, что у них нет данных или что они просто не были загружены?

Autofac поддерживает .ProjectTo<T>, который интегрируется в операции EQ IQueryable, чтобы упростить отображение для просмотра моделей по сравнению с использованием .Select.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...