Добрый совет: нацеливайтесь на то, что вы хотите выразить в среде вашей модели классов и LINQ, вместо того, чтобы пытаться воспроизводить SQL.Если вы делаете что-то вроде
context.CarePlans
.Select(cp => new { Plan = cp, FirstReferral = cp.Referrals.FirstOrDefault() }
(при условии, что это соответствует вашему контексту и игнорирует упорядочение и другие объединения для ясности)
Это в основном будет делать то, что вы хотите, но это может очень хорошо перевестина встроенный подзапрос, а не НАРУЖНОЕ ПРИМЕНЕНИЕ.К тому же эффекту.И план выполнения, вероятно, не будет сильно отличаться.