Хорошо, если оставить в стороне оператор присваивания, как бы вы ожидали, что ваш Apply
метод будет переведен в SQL?Entity Framework ничего не знает об этом и не может углубляться в непрозрачные делегаты.
Я подозреваю, что вам действительно нужно сделать, это отделить биты, которые нужно сделать в базе данных, от битов, которые нужно сделатьлокально:
var dbQuery = from p in context.Parent
join phr in context.Child on p.key equals phr.parentkey into pr
select new { p, phr };
var localQuery = dbQuery.AsEnumerable()
.Select(pair => /* whatever */);