如何让linq不从缓存中读取?

minhaiyan 2008-04-22 01:10:25
主键缓存 Linq to sql对查询过的对象进行缓存,之后的如果只根据主键查询一条记录的话会直接从缓存中读取。

如何做到不从缓存中读取呢。 因为随着数据量的增加,缓存也在增加啊。
...全文
1708 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2010-12-21
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 tangsilai 的回复:]
我也遇到了这个问题,只能销毁当前的Context,再重新New了
[/Quote]

此方法可行呀
一般查询都返回换粗的数据,无法显示更新
风尘浪子 2010-07-16
  • 打赏
  • 举报
回复
太多虑了。要知道LINQ TO SQL 本来就实现迭代器功能,只要你合理使用,它会把缓存减少。这正是LINQ最突出的地方
如果你使用TOLIST()或者其他方法一次过把数据全部取出来,反而会浪费更多的资源。
qq5457237 2010-07-12
  • 打赏
  • 举报
回复
context.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, list);
刷新一下对象就是最新值了
tangsilai 2010-07-11
  • 打赏
  • 举报
回复
我也遇到了这个问题,只能销毁当前的Context,再重新New了
yezie 2010-04-10
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 edwardsoft 的回复:]
引用 15 楼 ffsinbad 的回复:

直接再new 一个 context就可以了


正解
[/Quote]
不是吧,这样很费资源和速度
edwardsoft 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 ffsinbad 的回复:]

直接再new 一个 context就可以了
[/Quote]

正解
ffsinbad 2010-04-02
  • 打赏
  • 举报
回复
直接再new 一个 context就可以了
ahhisoft 2010-04-01
  • 打赏
  • 举报
回复
你们真可笑,人家问的是怎样不使用缓存,你们一劲地建议人家用缓存。
bwangel 2009-07-06
  • 打赏
  • 举报
回复
我的建议是多用内存,把内存用爆为止
weisimin 2009-01-15
  • 打赏
  • 举报
回复
我在一個類庫定義了一個靜態的ContentCLASS ,有時候查詢的時候,數據庫沒數據,但LINQ查回來居然有東西(其他線程刪除了),真郁悶
然后,如果是行數據操作的時候,先檢查記錄,再進行插入或更新操作,幾秒內,檢查的結果仍是一樣的,即使第一次操作的時候已經對數據進行了修改
moonhost 2008-12-10
  • 打赏
  • 举报
回复
当进行权限认证的时候, 用户的权限已经被剥夺了,但是缓存中始终保持拥有权限时的状态!

那就出问题了!
NewUser2008 2008-06-12
  • 打赏
  • 举报
回复
当对象成数据读取来后,就放入内存,(没有GC)
如果对象值被修改,则是先修改内存中的值,然后保存到数据库
apanda 2008-06-06
  • 打赏
  • 举报
回复
没有这个必要把。
woshiccye_msdn 2008-05-31
  • 打赏
  • 举报
回复
LINQ 是采用延缓机制去取数据的,本身是没有缓存功能的。
如果你要把LINQ取回的数据缓存可以使用 ToList 方法将数据持久化 - 也就是放在内存中。 下次就可以不用再去数据库去取。
yezie 2008-05-29
  • 打赏
  • 举报
回复
.tolist()??
oooo4 2008-05-28
  • 打赏
  • 举报
回复
晕哦,
我刚才测试了,linq to sql 并没有使用缓存,每次都查数据库了。不知道如何使他缓存,我用的是同一个datacontent
jian_xiaowei 2008-04-24
  • 打赏
  • 举报
回复
ObjectTrackingEnabled = false
  • 打赏
  • 举报
回复
就像世界上最勤劳人不可能是穷人 --> 就像世界上最勤劳最会赚钱的人不可能像穷人一样一味省钱
  • 打赏
  • 举报
回复
记住一点:开发缓存系统的人往往都懂得是内存的价值、对内存管理的策略进行过巨大系统的考验的,并且知道用户一般都不懂如何调配缓存参数。就像世界上最勤劳人不可能是穷人,最好的软件也不是无策略地一味压缩内存使用的。
  • 打赏
  • 举报
回复
多虑了,缓存管理是根据内存情况自己管理好的,当内存不足时缓存会自己减小,不信你把物理内存减小到64M试试开缓存还会有那么多吗?!除非你为了让用户以为你的程序很省内存,否则从程序运行效率和内存合理使用角度,缓存占用内存是恰当的。

如果你一定要清除缓存,重新实例化一个数据源对象就可以了。
加载更多回复(1)

8,493

社区成员

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

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