首页 新闻 搜索 专区 学院

Entity Framework 6.0 DBcontext 缓存问题?

0
悬赏园豆:5 [待解决问题]
var db=new UserDbContext()
var A=db.where(x=>x.uname="tom").FirstOrDefault().Age; //显示13

然后我在数据库更改下tom的年龄,改为15,再执行
var B=db.where(x=>x.uname="tom").FirstOrDefault().Age; //依然显示13

这是为什么啊?不是用Find才是本地找数据吗?现在变成了什么都缓存了?
然而更奇怪的是,第二条FirstOrDefault我用sql-Profile看到EF的确是请求了数据库
但是返回实体的信息依然是旧的。
gzivan的主页 gzivan | 初学一级 | 园豆:4
提问于:2015-09-09 12:14
< >
分享
所有回答(2)
0

你新建一个DB就会看到新的数据了,要不然你就不要用Entity Framework算了。

爱编程的大叔 | 园豆:30633 (高人七级) | 2015-09-09 12:18

新建DB能解决问题我是知道,只是想明白为什么会这样

FirstOrDefault()

Find()

如果是这样,这两个函数就没区别了啊,都是查找本地缓存了

支持(0) 反对(0) gzivan | 园豆:4 (初学一级) | 2015-09-09 12:22
0

EF是有缓存的,上下文里有缓存,

吴瑞祥 | 园豆:28820 (高人七级) | 2015-09-09 13:13

我印象中如果是用find()才走缓存的啊,其他都是走数据库

支持(0) 反对(0) gzivan | 园豆:4 (初学一级) | 2015-09-09 14:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册