关于Linq自带缓存的问题

gyl0519 2010-06-26 10:37:13
我用Linq查询方法,发现Linq好像自带缓存的样子,要是我直接在数据库做修改的话,查询出来的并不是最新数据,对于Linq的缓存,该怎么搞才能使在数据库直接更新数据以后在前台能直接查出最新的数据?
要是大家对我的问题有所疑问,可以自己先在自己的机器上试一下效果,大概就知道我的意思了.
在网上找了各式各样的例子,围观的不说,给出答案的都并不是很满意.
各位使用Linq的前辈们,哪个来为我指导迷津...?
...全文
442 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenejiang 2011-07-08
  • 打赏
  • 举报
回复
最近,我也碰到这个问题了,把解决方法归纳一下
1:不让DataContext持久,用一次,实例化一次.
2:使用DataContext.Refresh来刷新一下缓存中的数据
3:使用楼主的方法,设置表名.MergeOption = MergeOption.OverwriteChanges
4:在使用select语法时,加上new关键字,这个方法和第3个其实原理是一样的,就是用数据库的数据替换缓存中的数据.
JIN20468320 2010-07-06
  • 打赏
  • 举报
回复
select new 就可以解决了,欢迎加入.NET SoftWare 技术交流群78817973
mailpq 2010-07-01
  • 打赏
  • 举报
回复
楼上的怎么抄袭我的回复?版权,哈哈
imoyo 2010-06-28
  • 打赏
  • 举报
回复
linq的缓存,作用在当前datacontext的生命周期内(所以切忌不要用静态的datacontext)
在同一次request和response之间,都重新初始化datacontext应该不会出现缓存问题
yezie 2010-06-26
  • 打赏
  • 举报
回复
我是用db.refresh(...)
gyl0519 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 stirony 的回复:]
lq.表名.MergeOption = MergeOption.OverwriteChanges;
lq 是什么?
好像你这样改变缓存的设置了
[/Quote]
lq你可以忽略,这个是我们框架上用的
小case 2010-06-26
  • 打赏
  • 举报
回复
lq.表名.MergeOption = MergeOption.OverwriteChanges;
lq 是什么?
好像你这样改变缓存的设置了
mailpq 2010-06-26
  • 打赏
  • 举报
回复
linq的缓存,作用在当前datacontext的生命周期内(所以切忌不要用静态的datacontext)
在同一次request和response之间,都重新初始化datacontext应该不会出现缓存问题
gyl05199 2010-06-26
  • 打赏
  • 举报
回复
一个用户只能连续发表3次.,,,我乐..


谁有更好点的方法可以拿出来分享一哈,达人们都来发表一下自己的意见!
gyl0519 2010-06-26
  • 打赏
  • 举报
回复
已经解决了,

lq.表名.MergeOption = MergeOption.OverwriteChanges;

MergeOption需要引入命名空间 using System.Data.Objects;
gyl0519 2010-06-26
  • 打赏
  • 举报
回复
求救.help me..
gyl0519 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 stirony 的回复:]
不会阿,你是怎么刷新的呢?
[/Quote]

你可以试一下,你先随便查询出一个页面,就拿列表页说,查询出列表页之后在数据库中改一条记录的数据,然后再刷新那个列表页,是没有任何改变的
小case 2010-06-26
  • 打赏
  • 举报
回复
不会阿,你是怎么刷新的呢?
gyl0519 2010-06-26
  • 打赏
  • 举报
回复
修改一下我的说法,在先在页面中查询数据一次数据之后,要是我直接在数据库做修改的话,刷新出来的并不是最新数据,如果不是用Linq,就会刷新出最新的数据库数据。
悔说话的哑巴 2010-06-26
  • 打赏
  • 举报
回复
http://wenku.baidu.com/view/eeca98c3d5bbfd0a79567309.html
详细介绍LINQ查询

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧