Я пытаюсь сделать сложный запрос (вместо этого мне) с помощью выражения Lambda. У меня есть SQL, который я хочу «перевести» на Lambda.Использование Max, Group By, Join и Where in Lambda Expression
SELECT MAX((SUBSTRING(tbp.dt,4,4)+SUBSTRING(tbp.dt,2,2)+SUBSTRING(tbp.dt,1,2))) as Dt,
tb._n, tbp.number, tbp.dsc
FROM TB_A tb
JOIN TB_B_C tbp ON tbp.number = tb.number
WHERE tbp.rec = 0 AND tbp.processing = 0 AND tb._n != '' AND tbp.error = 0
GROUP BY tb._n, tbp.number, tbp.dsc
До сих пор у меня это лямбда-выражение:
var results = db.a
.Join(db.b_c, proc => proc.number, andam => andam.number, (proc, andam) => new { proc, andam })
.Where(d => d.proc._n != "" && d.andam.rec == false && d.andam.processing == false && d.andam.error)
.ToList();
Как я могу закончить мой выбор, чтобы иметь тот же результат, что и запрос SQL? Если возможно, вы можете объяснить, как правильно мыслить при переводе запроса на Лямбду?
Большое спасибо.
Вы спрашиваете нас, что вам не хватает, сначала сообщите нам, что с ним не так. –
Это также поможет увидеть ваши сущности. Например, если у вас есть свойство навигации от 'a' до' b_c', вам не нужно делать соединение. – juharr
@TimSchmelter Спасибо! Я изменил способ, которым я задал свой вопрос! –