简体   繁体   English

如何在实体框架 6 中编写 IQueryable 连接

[英]How to write IQueryable join in Entity Framework 6

I do have this code but I want to do it in IQueryable:我确实有这段代码,但我想在 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();

How do I write it using IQueryable ?如何使用IQueryable编写它? My start code for IQueryable is this:我的IQueryable开始代码是这样的:

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

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

Please do help as I need it in my project.请在我的项目中需要它时提供帮助。 Thank you in advance for your help.预先感谢您的帮助。

You can follow the below logic to write your query.您可以按照以下逻辑编写查询。

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

Please follow this document also.也请遵循文档。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM