linq to sql一定要注意的地方!

注意,在使用datacontext对象时,它会产生数据缓存,也就是为了提高读取数据速度,它会将数据库对象进行缓存,或者返回为IQueryable结果集,使数据查询结果持续到需要得到数据的时间才去真正的select 动作。

如果希望datacontext对象每次取数据时,都从数据库中得到数据,即select操作,可以这样:

  this._db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, entity);
注意,这里的entity是一个实体,即当进行数据库更新操作时,希望datacontext 得到最新更新的数据,可以用上面语句,千万不要把整个

结果集去Refresh呀,呵呵,就像这样:

this._db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, this.DbSet);

它将会在每次加载和刷新页面时去 select所有结果集,太可怕了吧,呵呵!

记得呀

posted @ 2011-11-15 03:47  张占岭  阅读(816)  评论(3编辑  收藏  举报