关于C#全局变量的问题?
本帖最后由 ZZtiWater 于 2013-12-03 08:41:38 编辑
一个线程,五分钟执行一次,执行的方法大概如下:
DataClassesDataContext db = new DataClassesDataContext();
void Fun()
{
while (true)
{
TimeSpan time = db.learninggenie_contents_daycarecenterrecord.SingleOrDefault().PushTime;//数据库中PushTime更新后,这里不会获取最新值
//TimeSpan time = new DataClassesDataContext().learninggenie_contents_daycarecenterrecord.SingleOrDefault().PushTime;如果重新new一下,则会获取最新值
}
}
各位高人,版主哥哥,帮本菜解释一下吧!
------解决方案--------------------db.learninggenie_contents_daycarecenterrecord已经取到内存了,下次直接读的内存
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
------解决方案--------------------这个DataContext在一次new的过程中,相当于将数据库的内容copy了一个备份。你通过DataContext的操作,经过增删改的时候,是需要调用SaveChanges来完成的,在SaveChanges未完成之前,是通过对数据标记如Add、Delete、Update等状态,SaveChanges以后将进行对应的操作,这是一种映射关系,在new DataContext完成