EF 查询数据不读取缓存的解决办法

EF查询(不使用缓存):Set<T>().AsNoTracking()

今天工作中发现一个很妖的问题,修改产品界面,修改数据后,数据库的值发生变化,感觉掉坑里了。

然后发现读取对象的方法是这样写的:

public T GetModel(object id)
{
return dbContext.Set<T>().Find(id);
}

后来发现原来是读的EF缓存的数据,然后将读取方法改成:

public T GetModel(Expression<Func<T, bool>> whereLambda)
{
return dbContext.Set<T>().AsNoTracking().FirstOrDefault(whereLambda);
}

问题得以解决

上一篇:Unity 大版本更新之APK的下载与覆盖安装


下一篇:[译]SQL Server 之 查询计划缓存和重编译