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が異なります。各PersonIDについて、最新の1つのレコードを返そうとしています。
理想的には、これをlinqでIQueryableとして表現して、より大きなクエリを作成できるようにします。