使用entityframework-plus扩展缓存查询

时间:2018-06-26 12:36:59

标签: c# entity-framework entity-framework-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 ID,而不要选择*

有人使用此扩展程序吗?有什么选择吗?甚至还有其他扩展可以缓存我的查询?

2 个答案:

答案 0 :(得分:0)

FromCache()方法只能在IQueryable<TEntity>个对象上使用。当您的.Select(x => x.tbl_ProductID)指令返回一个IQueryable<int>(或任何类型的tbl_ProductID)时,您将无法使用扩展方法。

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

答案 1 :(得分:0)

这是其开发人员的回复:

This is the response of its developer

经过一些搜索,我发现了 HttpContext.Cache 方法来缓存我的结果。