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);
}

问题得以解决

 

posted @ 2018-02-08 17:21  炳淳  阅读(979)  评论(0编辑  收藏  举报