[英]Convert SQL query into Linq expression
There are tables Subject
, Student
and SubjectEnrolled
有表
Subject
, Student
和SubjectEnrolled
Subject
table have two columns SubjectId
and SubjectName
Subject
表有两列SubjectId
和SubjectName
SubjectEnrolled
table also have two column StudentID
(foreign key to StudentTable
) and SubjectId
(foreign key to Subject
) SubjectEnrolled
表也有两列StudentID
( SubjectId
StudentTable
Subject
的外键) I want to convert this SQL query我想转换这个 SQL 查询
SELECT SubjectName
FROM Subject
WHERE SubjectId IN
(
SELECT SubjectId
FROM SubjectEnrolled
WHERE StudentID=7
)
Into a Linq or Lamda expression变成 Linq 或 lamda 表达式
using (var db = new DbContext())
{
var res = from r in db.Subjects.....
}
1 - SQL: use inner join
instead IN
: 1 - SQL:使用
inner join
代替IN
:
SELECT SubjectName FROM Subject sub
INNER JOIN SubjectEnrolled subEn on sub.SubjectId = subEn.SubjectId
WHERE subEn.StudentID = 7
2 - Linq Query Join
: 2 - Linq 查询
Join
:
var res = (from sub in db.Subjects
join subEn in db.SubjectEnrolleds on sub.SubjectId equals subEn.SubjectId
where subEn.StudentID = 7).ToList();
I hope you find this helpful.我希望你觉得这有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.