AsEnumerable()对LINQ实体有什么影响?

在这里和这里阅读问题可以使我对情况有所了解,并且似乎使用AsEnumerable会消耗内存。有没有更好的方法来执行此LINQ,现在是否已完成,输出的数据是否可靠?

删除AsEnumerable结果为“除包含包含运算符外,无法在查询操作的LINQ to SQL实现中使用本地序列”。

var results = from p in pollcards.AsEnumerable()

join s in spoils.AsEnumerable() on new { Ocr = p.OCR, fileName = p.PrintFilename } equals new { Ocr = s.seq, fileName = s.inputFileName }

where p.Version == null

orderby s.fileOrdering, s.seq

select new ReportSpoilsEntity

{

seq = s.seq,

fileOrdering = s.fileOrdering,

inputFileName = s.inputFileName,

Ocr = p.OCR,

ElectorName = p.ElectorName

};

回答:

AsEnumerable()有效地

铸造到IEnumerable<T>,这使得成员分辨率查找成员Enumerable代替Queryable。它通常在您要强制查询的一部分以SQL(或类似方式)运行,而其余部分使用LINQ

to Objects来运行时使用。

有关更多信息,请参见我的Edulinq博客文章。

现在您实际上有 两个 呼叫AsEnumerable。我可以看到删除第一个而不是第二个怎么可能会导致问题,但是您是否尝试过删除两个?

var results = from p in pollcards

join s in spoils

on new { Ocr = p.OCR, fileName = p.PrintFilename }

equals new { Ocr = s.seq, fileName = s.inputFileName }

where p.Version == null

orderby s.fileOrdering, s.seq

select new ReportSpoilsEntity

{

seq = s.seq,

fileOrdering = s.fileOrdering,

inputFileName = s.inputFileName,

Ocr = p.OCR,

ElectorName = p.ElectorName

};

以上是 AsEnumerable()对LINQ实体有什么影响? 的全部内容, 来源链接: utcz.com/qa/422306.html

回到顶部