- 关 键 词:
- sql server
- ado.net
- 数据库
- 进程
Linq to SQL内置缓存功能,简单的说,当你查询了一次某个键的数据后,再次查询时Linq to SQL的引擎不再向数据库发送SQL,例如:
|
而且,这两个实例是同一个实例:
|
当然,如果你使用不同的Context实例查询时,缓存功能将实效。
好,让我们再看看ADO.NET Entity Framework beta 3:
|
测试的结果是,ADO.NET Entity Framework(以下简称AEF)没有使用缓存,而是再次执行SQL,但是你要注意:两次查询的实例竟然是同一个。
从Context功能上看,他肯定持有上次查询的结果,他没有使用缓存,我只能认为可能AEF被设计成三层应用,那么他很担心其他的进程将数据改了,所以不使用缓存,当发现数据并没有改后,还是使用原先的实例,这个想法对吗?
我们再看看另外一个代码:
|
难以置信,AEF重新执行了SQL,但是置新的更改而不闻,仍然返回旧的数据。这个算是Bug吗?
我不知道哪位达人能够解释这个问题?当然,这个问题我也询问了MS,他们的技术人员还未做出满意的答复。
相关专题
- 数据库处理专题 (9127篇文章)
- ADO.NET实用技巧 (6600篇文章)
- .NET移动与嵌入式技术 (6123篇文章)
- .NET开发手册 (5805篇文章)
- ADO和ADO.NET的比较和迁移 (230篇文章)
- ADO.NET与其它语言比较篇 (230篇文章)
- .NET框架架构 (479篇文章)
- .NET与数据库 (485篇文章)
- 告别ASP.NET操作EXCEL的烦恼 (191次浏览)
- 用C#生成不重复的随机数 (141次浏览)
- VS 2008新特性与新功能介绍 (136次浏览)
- 在C#.net中操作XML实例 (98次浏览)
- Asp.net程序中生成Excel报表 (90次浏览)
- C#中Hashtable Dictionary的使用方法探索 (83次浏览)
- VB.NET连接数据库方法大全 (78次浏览)
- C#与数据结构 (77次浏览)
- C# .Net中的类型转换 (77次浏览)
- Spring.net 学习笔记之ASP.NET底层架构 (76次浏览)



