select C.CenterID
from dbo.Center C
inner join (select PersonID, max(EffectiveDate) as EffectiveDate
from Center
where EffectiveDate <= getdate()
group by PersonID) as C2
on C.PersonID= C2.PersonID
and C.EffectiveDate = C2.EffectiveDate
Центральная таблица имеет PersonID и EffectiveDate, несколько записей имеют одинаковый PersonID, но разные EffectiveDates, я пытаюсь вернуть 1 самую последнюю запись для каждого PersonID
в идеале я хочу выразить это в linq как IQueryable, чтобы я мог использовать его для создания больших запросов.