Найдите строки с одинаковым значением в столбце asp.net

У меня проблема, я хочу перевести этот SQL-запрос в asp.net. существует связь между таблицей учеников и таблицей учителей многие ко многим, и я хочу отображать учеников, у которых более одного учителя

select COUNT(StudentId), StudentId  from StudentTeachers 
group by StudentId
 having COUNT(StudentId)> 1

и это то, что я пытаюсь сделать в asp.net

 var data = db.StudentTeachers.
                Join(db.Students, a => a.StudentId, b => b.ID, (a, b) =>a).GroupBy(x=> x.StudentId);

не могли бы вы уточнить, какие результаты вам нужно отобразить

Dhrumil shah 21.12.2020 10:15
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
1
206
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете попробовать оба способа.

Использование лямбда-выражений

            db.StudentTeachers.GroupBy(s => s.StudentId)
                  .Where(grp => grp.Count() > 1)
                  .Select(grp => new
                  {
                      StudentCount = grp.Count(),
                      StudentId = grp.Key
                  }).ToList();

Использование SQL-подобных выражений запроса

from s in db.StudentTeachers
group s by s.StudentId into grp
where grp.Count() > 1
select new { StudentId = grp.Key, StudentCount = grp.Count() }).ToList();

Другие вопросы по теме