Есть код
Выполняет фильтрацию массива проектов и при этом
считает запланированные часы по подчиненным задачам
var a = projects.AsEnumerable()
.GroupJoin(tasks.AsEnumerable(), p => p.Id, t => t.ProjectId
, (p, pt) => {p.PlannedHours = pt.Sum(t => t.HoursPlanned); return p;})
.Where(p =>
(p.Id == readParams.Id || 0 == readParams.Id)
&& (p.CustomerId == readParams.ClientId || 0 == readParams.ClientId))
.ToArray();
Возможно ли воспроизвести его в варианте Query Expression.
Фишка в том что в варианте Method Expression сумма пишется
прямо в свойство объетка, т.е. при выполнении запроса изменяются объекты коллекции
А вот на Query Expression — получается только "с прицепом"
var b = from p in projects.AsEnumerable()
join t in tasks.AsEnumerable() on p.Id equals t.ProjectId into pt
select new
{
Project = p,
PlannedHours = pt.Sum(t => t.HoursPlanned)
} ;