代码之家  ›  专栏  ›  技术社区  ›  David Espart

数据上下文重用连接

  •  0
  • David Espart  · 技术社区  · 15 年前

    这是一个简单的问题,如果您以前遇到过这种情况,您可能会发现:

    假设我有一个循环,在其中我创建了一个DataContext实例,并对数据库执行了一些查询。

    问题是…DataContext是第一次打开一个连接并重新使用它,还是在每个循环中打开/关闭一个到DB的新连接?如果是后者,我能以某种方式强制只使用一个连接吗?

    谢谢

    2 回复  |  直到 15 年前
        1
  •  1
  •   womp    15 年前

    您是否在每次迭代中处理数据上下文(即,您是否使用“using”语句创建数据上下文?)。如果是,则每次都要打开和关闭连接。否则,它将取决于您的代码,我猜-如果您有一个私有变量在每个循环上进出范围,那么它将具有相同的效果。

    为什么不能在循环外创建一个DataContext并使用它?这是存储库类的推荐实践。

        2
  •  0
  •   spender    15 年前

    怎么样:

     using(var dc=new FooDataContext())
     {
         for(var i=0;i<someVal;++i)
         {
             dc.SomeTable.Where.....
         }
     }