У меня есть следующая группа,
var stocks =
from p in products
from w in p.Warehouses
from l in w.locations
group l by l.Date into g
let maxDate = g.Max(l1 => l1.Date)
select new { Product=p.Name, Location= g.Where(l2 => l2.Date == maxDate) };
Но она не работает, я думаю, потому что я делаю группу, мне не разрешено использовать значения из таблиц перед группой вмой выбор.
здесь иерархия объектов.
Products
Each product has multiple warehouses
Each warehouse has multiple locations.
Мне нужно вернуть все продукты, и каждый продукт должен содержать название местоположения.
Что такоекритерии для определения местоположения при наличии нескольких складов и нескольких местоположений.
Я должен искать на каждом складе и, в свою очередь, в каждом местоположении ... и возвращать ВНЕ ВСЕХ ИХ последнее местоположение (ТОЛЬКО 1), которое яопределить с помощью Date == maxDate
Но это не позволит мне выбрать «Имя», которое было в p.Его нет в g, так как g группируется по «местоположениям».
Любая помощь действительно ценится