Так как между STUDENTS и STUDENTS_DETAILS имеется отношение один ко многим, я предполагаю, что данные в STUDENTS_DETAILS различаются для студента.
В этом случае для разных данных в таблице STUDENTS_DETAILS одна и та же запись студента будетзагружаться несколько раз.Выполнение Distinct
не будет работать.Вы должны сделать GroupBy
.
Пример:
var results = from s in STUDENTS
group s.Detail by s.ID into g
select new { ID = g.Key, Details = g.ToList() };
Для следующих данных:
{ ID = 1, APPLICATION_DATE = "2/2/2019", SCHEME = "A" };
{ ID = 1, APPLICATION_DATE = "2/2/2019", SCHEME = "B" };
{ ID = 2, APPLICATION_DATE = "3/2/2019", SCHEME = "C" };
Вы получите три строкивместо двух из-за значения в свойстве SCHEME.Чтобы получить по одной строке на каждого учащегося, вы должны решить, как группировать по всем другим свойствам, кроме идентификатора.например, взять максимальную длину данных и максимальную дату и т. д.