Примерно так должно поступить:
wastes.GroupJoin(db.WasteItems, w => w.WastId, wi => wi.WasteId, (w,wi) => new { w, wi })
.AsEnumerable()
.Select(x => new
{
x.w.Name,
Items = string.Join(", ", x.wi.GroupBy(wi => wi.EWC).Select(g => string.Format("{0} ({1})", g.Key, g.Count())))
})
Где wastes
- результат вашего запроса.AsEnumerable()
необходим, потому что Entity Framework не может обрабатывать string.Join
, поэтому эта часть должна обрабатываться в памяти.
Я не мог проверить синтаксис, очевидно, но, по крайней мере, он может показать вам путьидти.