尝试迭代Queryable

时间:2015-08-27 09:34:19

标签: c# linq entity-framework entity-framework-6 iqueryable

foreach(var name in _cust.Select(s => s.Username).Distinct())
{
    var x = _cust.Select(s => s.Username == name); //ERROR HERE
    //rest of the code here
}

将抛出There is already an open DataReader associated with this Command which must be closed first.例外,但是当我添加.ToList()时不会发生这种情况。

到目前为止我一直在搜索,但没有找到满意的答案。所以我的问题是:

  1. 除了添加.ToList()
  2. 之外,还有其他方法吗?
  3. 如果我使用.ToList()作为解决方案,这会在投入生产时导致性能问题吗?因为AFAIK ToList()会尝试将所有内容加载到内存中。
  4. 我的实体中有很多导航属性,ToList()会尝试加载导航属性中的所有内容吗?
  5. 由于

0 个答案:

没有答案