使用 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 方法来缓存我的结果。
我想使用 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 方法来缓存我的结果。