Ответы пользователя по тегу Кэширование
  • Как кэшировать результаты Entity Framework без Lazy Load и подключенного соединения к БД?

    Razbezhkin
    @Razbezhkin Автор вопроса
    программист, преподаватель
    Спасибо.
    Оказывается, в DB контексте есть специальные настройки, которые могут напрочь отрезать сущности от контекста:
    вот кусочек кода, который настраивает контекст:

    CFDB rocontext = new CFDB();
    rocontext.Configuration.ProxyCreationEnabled = false;//запрещает использовать прокси классы - на выходе у нас те самые типы, которые мы определяли в моделях
    rocontext.Configuration.LazyLoadingEnabled = false;//здесь запрещается использовать отложенную подгрузку данных, и если мы не указали в Include сущности, которые нам понадобятся, то получим исключение
    rocontext.Configuration.ValidateOnSaveEnabled = false;//отключает проверку при сохранении, а сохранение вообще не подразумевается
    rocontext.Configuration.AutoDetectChangesEnabled = false;//отключает проверку на наличие изменений при сохранении, а сохранение вообще не подразумевается

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