日期:2014-05-17  浏览次数:20757 次

关于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一下,则会获取最新值
            }
        }

各位高人,版主哥哥,帮本菜解释一下吧!
C#

------解决方案--------------------
db.learninggenie_contents_daycarecenterrecord已经取到内存了,下次直接读的内存
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
------解决方案--------------------
这个DataContext在一次new的过程中,相当于将数据库的内容copy了一个备份。你通过DataContext的操作,经过增删改的时候,是需要调用SaveChanges来完成的,在SaveChanges未完成之前,是通过对数据标记如Add、Delete、Update等状态,SaveChanges以后将进行对应的操作,这是一种映射关系,在new DataContext完成