Asp.net 紧密连接数据库

Asp.net 紧密连接数据库,asp.net,linq,linq-to-sql,linq-to-entities,linq-to-xml,Asp.net,Linq,Linq To Sql,Linq To Entities,Linq To Xml,此代码要求紧密连接 我应该始终关闭连接 无dc.Connection.Close()工作正常 我怀疑这是否是实际的代码,但这就是您遇到问题的原因 DataClassesDataContext dc = new DataClassesDataContext(); private string GetPropertyCompany() { var res=from b in dc.Tbl1 select b; string a; foreach(var item in res)

此代码要求紧密连接

我应该始终关闭连接


dc.Connection.Close()工作正常

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

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;
}
在“访问”
res
变量(即“foreach”)之前,不会实际执行(也就是说,不会命中数据库),这显然发生在其他地方。当您访问
res
时,实际的
DataContext
已经关闭,因此会出现错误。

请特别注意

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

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

var res = from b in dc.Tbl1 select b;