Как я могу написать этот оператор SQL, используя C # и LINQ?Я запрашиваю базу данных Oracle, и таблица содержит несколько ревизий записей.Поэтому я хочу только текущую ревизию каждой записи, содержащейся в таблице.
SQL выглядит так:
select TP_ID, TP_TEXT, TP_DEFN_SAKEY
from TP_DEFN tp1
where tp1.TP_ACTIVE_FLAG = 'Y' and
tp1.FAMILY_ID = 1 and
tp1.TP_DEFN_REV_DTS = (select max(TP_DEFN_REV_DTS)
from TP_DEFN tp2
where tp2.family_id = tp1.family_id and tp2.tp_id = tp1.tp_id )
order by TP_ID
TP_DEFN_REV_DTS
- это поле даты и времени, в котором хранится текущая ревизия.
Я новичок в LINQ и изо всех сил пытался найти работоспособное решение.Каждый раз, когда я пытаюсь сгруппировать в запросе LINQ, я получаю сообщение об ошибке
GroupBy не поддерживается