关闭连接数据库

时间:2011-08-04 11:41:32

标签: asp.net linq linq-to-sql linq-to-entities linq-to-xml

DataClassesDataContext dc = new DataClassesDataContext();

private string GetPropertyCompany()
{
  var res=from b in dc.Tbl1 select b;
  string a;
  foreach(var item in res)
      a+=item.name;
  //    dc.Connection.Close();

  return a;
}

此代码需要密切连接;

我应该总是关闭连接;

没有dc.Connection.Close();工作正常!!!!

2 个答案:

答案 0 :(得分:1)

特别关注Do I have to close the SQL Connection manually if I use Linq?

  

LINQ to SQL将在需要时打开和关闭连接

虽然如果该代码在自己的类中,您可能希望添加一个处理数据上下文的析构函数,尽管这取决于您

答案 1 :(得分:0)

我怀疑这是实际的代码,但是这就是你遇到问题的原因。

var res = from b in dc.Tbl1 select b; 
直到你“访问”res变量(即'foreach')之后才会实际执行

(即数据库未被命中),这显然发生在其他地方。当您 访问res时,实际的DataContext已经关闭,因此错误。