У меня есть три таблицы.
- Интервью
- интервьюеры
- InterviewSchedule.
интервьюер может быть назначен для нескольких интервью
интервью может иметь несколько интервьюеров .
Итак,
- InterviewSchedule таблица содержит столбцы
interviewid
, interviewerid
. (Отношение много ко многим)
- Интервьюируемый имеет столбцы -
InterviewId
, InterviewLocation
, InterviewSubject
.
- Интервьюер В таблице есть столбцы -
InterviewerId
, InterviewerName
, InterviewerTitle
.
Теперь я хочу создать отчет о интервью с подробностями интервьюера .
Я создал dataobject
как InterviewId
, InterviewLocation
, InterviewSubject
, List<Interviewer>
;
Я пытаюсь сделать один запрос LINQ , чтобы получить мой вывод. Я использую entityframework и уже создал контекст.
Я новичок в LINQ , но я вижу, что это возможно, и я видел несколько постов от людей groupby
, использующих Id.
Мне кажется, моя проблема в том, что я хочу выбрать несколько полей из обеих таблиц через промежуточную таблицу.
var output = (from i in Interview
join ia in InterviewSchedule on i.interviewid equals ia.interviewid
join iw in Interviewers on ia.interviewerid equals iw.interviewerid)
group i by i.interviewid into g
select new {i, interviewers = new {interviewername, interviewertitle} };
Я потерян в этот момент. Разве это не правильный подход? Нужно ли делать цикл for, чтобы добавить всех интервьюеров в список, один за другим?