c# - Join 3 tables with a lambda expression? -
i want following sql query lambda expression:
select studentname, coursename, grade student s, course c, grade g s.id = g.studentid , c.coursecode = g.coursecode , g.grade<='b';
i having trouble have join 3 tables together.
well, looks query expression:
var q = grade in db.grades grade.grade <= 'b' join student in db.students on grade.studentid equals student.studentid join course in db.courses on grade.coursecode equals course.coursecode select new { student.studentname, course.coursename, grade.grade };
(i'd use variable name of query
instead of q
- i've used q
formatting purposes here.)
you could translate explicit join
calls lambda expressions, i'd advise use query expressions complex queries this.
note i've changed order of query allow "where" clause expressed , efficiently possible. in likelihood sql query planner optimize anyway, linq objects help.
Comments
Post a Comment