Запрос кеша с использованием расширения entityframework-plus
Я хочу использовать расширение entityframework-plus для кэширования некоторых моих запросов, но у него нет никакой возможности выбирать конкретные элементы и кэшировать их, так как, когда я читаю его документ, он кэширует все столбцы следующим образом:
ctx.Countries.Where(x => x.IsActive).FromCache()
но у меня есть что-то вроде этого:
db.tbl_Brand_To_Product.Where(x => x.tbl_BrandID == id).Select(x => x.tbl_ProductID)
Я хочу выбрать только идентификаторы tbl_ProductID, а не выбрать *
кто-нибудь работает с этим расширением? есть ли вариант сделать это? или даже есть какое-то другое расширение, которое может кэшировать мой запрос?
2 ответа
Это ответ его разработчика:
после некоторого поиска я нашел метод HttpContext.Cache для кеширования своих результатов.
FromCache()
метод может быть использован только на IQueryable<TEntity>
объекты. Как твой .Select(x => x.tbl_ProductID)
инструкция возвращает IQueryable<int>
(или любой другой тип tbl_ProductID
есть) вы не сможете использовать метод расширения.
Вы можете скачать весь исходный код с GitHub и увидеть файл класса CacheExtensions.cs