首页 新闻 搜索 专区 学院

菜鸟:关于linq2sql,DataContext不可以全局只实例化一次么?

0
悬赏园豆:10 [已解决问题] 解决于 2009-12-09 12:03

看了codeplex上的某程序,有个问题

发现他在每一个查询方法里都会去

var data = new XXXXDataContext();

一次,这样难道不是每次调用方法时都要实例化一次?难道这样不消耗资源么?不可以在某个全局的地方只实例化一次 然后供整个程序调用么?
rad的主页 rad | 初学一级 | 园豆:28
提问于:2009-11-27 12:36
< >
分享
最佳答案
0

全局的话,数据就共享了!

如下:

页面A执行:

       var product = (from v in Common.EntityTest.Product where v.Id == 1 select v).FirstOrDefault();
        product.Name = "abcde";
        这里页面A实际上不想更新product.Name
   //Common.EntityTest.SaveChanges();

页面B执行:

var product = (from v in Common.EntityTest.Product where v.Id == 1 select v).FirstOrDefault();

Common.EntityTest.SaveChanges();

//这里页面B实际上什么都没改动。

//这时去看一下数据库。Product.Name被修改了!!

收获园豆:5
蓝色爬虫 | 菜鸟二级 |园豆:230 | 2009-11-27 13:59
其他回答(1)
0

资源就是要拿来消耗的。消耗过多不行,太少也同样不好。

收获园豆:5
麦舒 | 园豆:452 (菜鸟二级) | 2009-11-27 13:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册