使用 entityframework-plus 扩展缓存查询

cache query using entityframework-plus extension

我想使用 entityframework-plus 扩展来缓存我的一些查询, 但它没有任何选项来 select 特定项目并缓存它们,当我阅读它的文档时,它会像这样缓存所有列:

ctx.Countries.Where(x => x.IsActive).FromCache()

但我有这样的东西:

db.tbl_Brand_To_Product.Where(x => x.tbl_BrandID == id).Select(x => x.tbl_ProductID)

我想 select 只是 tbl_ProductID ID 而不是 select *

有人使用这个扩展吗?有什么选择吗?甚至是否有任何其他扩展可以缓存我的查询?

FromCache() 方法只能用于 IQueryable<TEntity> 对象。作为您的 .Select(x => x.tbl_ProductID) 指令 returns 和 IQueryable<int>(或 tbl_ProductID 的任何类型),您将无法使用扩展方法。

您可以从 GitHub 下载整个源代码并查看 class 文件 CacheExtensions.cs

这是其开发者的回应:

经过一番搜索,我找到了 HttpContext.Cache 方法来缓存我的结果。