为什么实体框架(4.1)与您在以下查询后面可能期望的数据模型一起返回InvalidOperationException(“已经有一个与此命令关联的打开的DataReader,必须首先关闭”)?
((IEnumerable<Company>)db.Companies).SelectMany(x => x.Department).ToList();
答案 0 :(得分:2)
您的查询可能不是问题。您可能需要在连接字符串中打开MultipleActiveResultSets属性。 Check out the answer for this one.
答案 1 :(得分:0)
因为使用Linq to EF作为IEnumerable保持DataReader打开,因此在关闭它之前不能进行其他查询。尝试将集合实现为IList,如下所示:
db.Companies.ToList().SelectMany(x => x.Department).ToList();