Как написать соединение IQueryable в Entity Framework 6 - PullRequest
0 голосов
/ 01 августа 2020

У меня есть этот код, но я хочу сделать его в IQueryable:

var select = (from g in this.context.Grades
              join sm in this.context.SubjectMaintenance on g.SubjectCode equals sm.SubjectCode
              join st in this.context.Students on g.StudentId equals st.StudentId
              where sm.TeacherId == sTeacherId
              select new
                     {
                         SubjectCode = g.SubjectCode,
                         SubjectName = g.SubjectName,
                         StudentName = st.LastName + ", " + st.Firstname,
                         PrelimGrade = g.PrelimGrade,
                         MidtermGrade = g.PrelimGrade,
                         FinalGrade = g.PrelimGrade,
                     }).ToList();

Как мне написать его, используя IQueryable? Мой начальный код для IQueryable следующий:

IQueryable<Grades> query = this.context.Grades;

IQueryable<SubjectMaintenance> query1 = this.context.SubjectMaintenance;
IQueryable<Students> query2 = this.context.Students;

Пожалуйста, помогите, поскольку мне это нужно в моем проекте. Заранее благодарим за помощь.

1 Ответ

1 голос
/ 01 августа 2020

Вы можете следовать логу c ниже, чтобы написать свой запрос.

var query1 = 
var query2 = 
var join = query1.Join(query2, x => x.ParentId, y => y.ParentId, (query1, query2) => new { query1, query2 })

Пожалуйста, следуйте этому документу.

...