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();
工作正常!!!!
答案 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
已经关闭,因此错误。