实体框架增强版新实体不与缓存一起返回

问题描述

我将 Entity Framework Plus 与 FromCache 选项与 EF6 一起使用。 我的问题是添加新项目后,返回的缓存不包含该项目。 添加新项目后是否可以自动“更新”缓存?

保存新政策:

 db.policies.Add(policy);
 db.SaveChanges();

获取所有策略:

database.policies.FromCache().ToList();

EF Plus 具有 CacheItemPolicy,但我必须为我没有的类提供 sqlCommand,正如您在保存项目的示例中看到的那样。

解决方法

试试 EF6 的选项 IsAutoExpireCacheEnabled

QueryCacheManager.IsAutoExpireCacheEnabled = true;

小提琴:https://dotnetfiddle.net/3WHMGk

一旦添加/修改/删除了某些内容,与此 DbSet 相关的所有缓存都将被清除。