DataContext 数据在F5刷新频繁,会出现数据读取错误

DataContext是 Linq to sql数据模型的底层数据库对象
所有LInq数据表对象都是由它派生的, 只要建立一个数据库操作,就建立一个datacontext
当然,可以用静态的Datacontext,但不推荐,
所以datacontext对象在频繁调用时,会出现数据错误问题,

在使用datacentext对象时候,它会生成数据缓存,也就是为了提高数据读取速度,它会将数据库对象进行缓存,或者返回IQueryable结果集,使数据查询结果持续到需要select的时候,

解决方法:
建立一个数据实体对象,它是与Linq数据表相同的类型,比如 Custoomer表
解决方法是: db.Customer.select(c=>new Cuseromer{}),这样就解决了数据错误的问题,
原理是:不是用dacontext缓存中读数据,而是从非DBContext对象中,即内存某个实体读取

时间: 2024-10-11 16:45:31

DataContext 数据在F5刷新频繁,会出现数据读取错误的相关文章

解决Silverlight F5刷新问题

最近在做一个SL的项目,做完后,遇到一个F5刷新的问题,本人也是第一次接触接触SL项目,记得再ASP.NET浏览器的缓存会自动保存最后一次的浏览记录的. 所以就在网上到处找资料,可惜运气不好,都没找到合适的资料.基本的解决方法都是通过再HTML页面增加JS方法,屏蔽F5刷新按钮的功能,但是这 样的需求并不是我们项目中所要的,还好在BAIDU和群里高手的帮助下,终于大体了解了SL刷新的过程和解决F5刷新返回最后次浏览页面的思想.. 1:SL刷新过程 SL本身就是HTML页面的一个插件程序,在浏览器

F5刷新缘何会引起表单重复提交

首先,页面第一次加载,在未进行任何操作,表单没有提交过的前提下,此时点击F5刷新,是没有任何问题的. F5刷新引起表单重复提交 前提条件: 用户已通过 (1)submit按钮 (2)js的form.submit()方式提交过表单. (3)其他方式,我不了解,希望有大神知道可以告知 提交了一次表单. 根据提交表单的方式,查看提交表单后分两种情况, get:在地址栏,可看到页面地址栏变化: ?后面是表单提交时传递的参数.毫无疑问,F5刷新时是会把这些参数重新提交的. post:chrome下打开开发

arcgis server 10.1 发布动态图层展示海量及频繁更新的数据步骤

转自原文 arcgis server 10.1 发布动态图层展示海量及频繁更新的数据步骤 Arcgis server  发布动态图层及调用动态图层 做这个动态图层功能的原由是 有一个30万的数据需要通过arcgis GP工具转成shp然后渲染加载进地图,原来的做法是遍历生成shp面要素,读取面的环状点然后转成json,这个也能实现结果但是时间较长,与预期的时间差别较多,在公司内部讨论时有提到这个动态图层可以解决海量频繁数据的替换,要是每个都发一个图层服务这样不可取.故此讨论后研究这个神奇的功能.

在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别

转自:http://blog.csdn.net/zoohouse/article/details/7552594 先来说"刷新",它是在你现有页面的基础上,检查网页是否有更新的内容.在检查时,会保留之前的一些变量的值,因此有可能会造成刷新后网页出现错误,或者打不开的情况:"转到"和在地址栏回车,则相当于你重新输入网页的URL访问,这种情况下,浏览器会尽量使用已经存在于本机中的缓存.也就是说,"刷新" 是取网页的新内容来更新本机缓存,在更新的同时保

iOS:详解MJRefresh刷新加载更多数据的第三方库

原文链接:http://www.ios122.com/2015/08/mjrefresh/ 简介 MJRefresh这个第三方库是李明杰老师的杰作,这个框架帮助我们程序员减轻了超级多的麻烦,节约了开发时间,提高了开发效率.由于目前能力有限,尚不能自己写一套框架,所以就先膜拜和看明白大牛的框架了. 用于为应用添加常用的上拉加载更多与下拉刷新效果,适用 UIScrollView . UITableView . UICollectionView . UIWebView. gtihub上的地址:http

禁用F5刷新jQuery实例代码

禁用F5刷新jQuery实例代码:F5具有刷新网页的功能,可能有时候需要禁用此功能,下面就通过代码实例介绍一下如何实现此功能.代码如下: $(document).ready(function(){ $(document).bind("keydown",function(e){ var e=window.event||e; if(e.keyCode==116){ e.keyCode = 0; return false; } }) }) 以上代码实现了我们的要求,这里就不多介绍了,具体可以

ASP.NET Web Form和MVC中防止F5刷新引起的重复提交问题

转载  http://www.cnblogs.com/hiteddy/archive/2012/03/29/Prevent_Resubmit_When_Refresh_Reload_In_ASP_NET_Web_Form_MVC.html 什么是刷新/重新载入 IE中的刷新(Refresh),在FF和Chrome中称为重新载入(Reload),与正常进入页面的区别在于以下两点: 1. 缓存控制 如果文件(比如图片)在本地缓存中已经存在,正常进入页面会不访问服务器而直接从本地加载.而对于刷新操作,

jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等

禁用鼠标右键菜单栏 $("body").bind("contextmenu", function(event) { return false; }); 禁用快捷键 $("body").bind("keydown",function(e){ e=window.event||e; //禁止空格键翻页 if(event.keyCode==32){ return false; } //屏蔽F5刷新键 if(event.keyCode=

JavaScript屏蔽Ctrl+N、Shift+F10、F5刷新、退格键

屏蔽鼠标右键.Ctrl+N.Shift+F10.F5刷新.退格键 function window.onhelp(){return false} //屏蔽F1帮助 function KeyDown(){ if ((window.event.altKey)&&http://www.hrbfc120.com ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ← (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 → ale