LinqToSQL和异常“ExecuteReader需要一个开放且可用的连接”。

时间:2009-01-13 23:23:45

标签: linq-to-sql exception executereader

我有一个名为dbusers的集合,类型为IQueryable

这些是从linqtosql数据库上下文中提取的,即

IQueryable<Data.LinqToSQL.User> dbUsers = DBContext.Users

在此对象上调用ToList:

IList<Data.LinqToSQL.User> users = dbUsers.ToList();

异常结果:

ExecuteReader需要一个开放且可用的连接。连接的当前状态是连接。

我在这里做错了什么?

干杯

2 个答案:

答案 0 :(得分:2)

看看这是否适合你:

IList<Data.LinqToSQL.User> users = (from u in DBContext.Users select u).ToList();

如果不是,您可能需要执行以下操作:

DBContext context = new DBContext();
IList<Data.LinqToSQL.User> users = (from u in context.Users select u).ToList();

答案 1 :(得分:1)

我认为这是DataContext的线程问题。我遇到了类似的问题。查看this question了解详情。

另外read thisthis