首页 新闻 搜索 专区 学院

一个关于缓存的问题,大神们留步进来看看喽,进帖有妹子哦~~~~

0
悬赏园豆:5 [已解决问题] 解决于 2013-01-08 11:13

首先我使用的mvc+ef的结构

我的问题是这样的:

当我更新数据库后,无法立即查到更新后的数据(就是断点以后发现数据跟数据库里的数据不一样)。无论是代码更新(savechange())还是手动更新数据库都不行。在等一段时间,或者我修改一下c#代码以后就可以查到更新以后的数据了,很是费解!!!

曾经怀疑过是因为ef使用了dataset的缓存但貌似不是这样的,如果是应用程序的缓存那关我的数据什么事呢?

动感超人z的主页 动感超人z | 初学一级 | 园豆:1
提问于:2013-01-08 01:49
< >
分享
最佳答案
0

检查 DbContext,不要设置静态的, 每次操作 请new一个新的。

收获园豆:3
Qlin | 老鸟四级 |园豆:2403 | 2013-01-08 08:41

这解!!!

一开始我以为经常要实例化DOoperate就给它搞了个单例模式,结果作茧自缚了

顺便可以解释下原理么?我的意思是static在我结束调试的时候就应该已经销毁了,但是我结算调试后再重新进行调试为什么貌似它没有被销毁似的呢?

动感超人z | 园豆:1 (初学一级) | 2013-01-08 11:12
其他回答(4)
0

关注下!

Tom.汤 | 园豆:2388 (老鸟四级) | 2013-01-08 08:31
0

using(YourDbContext dbContext = new YourDbContext())

{

    var item = new Item{ID=2};

    dbContext.Items.Add(item);

    dbContext.SaveChanges();

 

    var existingItem = dbContext.Items.FirstOrDefault(o => o.ID == 2);

}

运行上面的代码,你的意思是 existingItem 为 null 吗?

收获园豆:1
Launcher | 园豆:45045 (高人七级) | 2013-01-08 09:20
0

应该就是这样简单的写一下就行了啊

using(YourDbContext dbContext = new YourDbContext())

{

}

收获园豆:1
chenping2008 | 园豆:9836 (大侠五级) | 2013-01-08 09:30
0

正解系???

骷髅人 | 园豆:464 (菜鸟二级) | 2013-01-08 10:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册