AsEnumerable()
is effectively a cast to IEnumerable<T>
, which makes member resolution find members of Enumerable
instead of Queryable
. It’s usually used when you want to force part of a query to run as SQL (or similar), and the remainder to run using LINQ to Objects.
See my Edulinq blog post on it for more information.
Now you’ve actually got two calls to AsEnumerable
. I can see how removing the first but not the second could cause problems, but have you tried removing both?
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
};