Jeer
@Jeer
уверенный пользователь

Как правильно построить linq с подзапросом?

Добрый день!
Есть таблица заказов CargoOrder. Есть таблица истории операций HistoryEvent. На один заказ много операций.
Как правильно сделать выборку, взять заказ и указать у него последнюю операцию, то есть приджоинить операцию с максимальной датой? То ли подзапрос, то ли let, как это варится? Я могу это на sql-е с подзапросом написать, а как на linq переложить не понимаю

Что-то типа такого:
var q = from co in db.CargoOrder
                        join he in db.HistoryEvent
                        on co.OrderNo equals he.OrderNo
                        select new
                        {
                            co.OrderNo,
                            co.State,
                            he.Event,
                            he.ServiceMCS
                        };

Только из HistoryEvent нужна одна запись с максимальной датой
  • Вопрос задан
  • 942 просмотра
Решения вопроса 1
Вы ищете что-то вроде этого?
from p in context.ParentTable
join c in context.ChildTable on p.ParentId equals c.ChildParentId into j1
from j2 in j1.DefaultIfEmpty()
group j2 by p.ParentId into grouped
select new { ParentId = grouped.Key, Count = grouped.Count(t=>t.ChildId != null) }

https://stackoverflow.com/a/695510
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы