这是一个简单的问题,如果您之前遇到过这种情况,您可能会发现:
想象一下,我有一个循环,在其中我创建了一个DataContext实例,并对数据库执行了一些查询。
问题是...... DataContext是否仅在第一次打开连接并重新使用它或者在每个循环中打开/关闭与DB的新连接?如果是后者,我可以用某种方式强制只使用一个连接吗?
THX
答案 0 :(得分:1)
您是否在每次迭代时都处理DataContext(即,您是否使用“using”语句创建了datacontext?)。如果是这样,那么每次都会打开和关闭连接。否则,它将取决于你的代码我想 - 如果你有一个私有变量进入和退出每个循环的范围,那么它将是相同的效果。
为什么不能在循环外创建一个DataContext并使用它?这是存储库类的推荐做法。
答案 1 :(得分:0)
怎么样:
using(var dc=new FooDataContext())
{
for(var i=0;i<someVal;++i)
{
dc.SomeTable.Where.....
}
}