Запрос кеша с использованием расширения 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

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