EF Core有自己的内存缓存,当然你要使用redis来缓存的话,推荐是写在ActionFilter中,这种方式比较简单,侵入性也低。或者可以重写一个.tolist()的方法,在IQueryable上,来执行你希望得到的业务操作,不过这种代码侵入性就很强。
可以使用cyq.data操作数据库,只需要配置redis链接即可,操作后,默认自动缓存是开启的,达到你需要的功能。
如果想自己实现类似的功能,也可以参考源码:https://github.com/cyq1162/cyqdata
如果对于API层来说,用ResponseCache会好一点