C# 将SQL查询转换为Linq表达式
有表C# 将SQL查询转换为Linq表达式,c#,sql-server,asp.net-mvc,linq,C#,Sql Server,Asp.net Mvc,Linq,有表科目、学生和科目 Subject表有两列SubjectId和SubjectName subjectregistered表也有两列StudentID(StudentTable外键)和SubjectId(Subject外键) 我想转换这个SQL查询 SELECT SubjectName FROM Subject WHERE SubjectId IN ( SELECT SubjectId FROM SubjectEnrolled WHERE StudentID=7 )
科目
、学生
和科目
表有两列Subject
和SubjectId
SubjectName
表也有两列subjectregistered
(StudentID
外键)和StudentTable
(SubjectId
外键)Subject
SELECT SubjectName
FROM Subject
WHERE SubjectId IN
(
SELECT SubjectId
FROM SubjectEnrolled
WHERE StudentID=7
)
转换为Linq或Lamda表达式
using (var db = new DbContext())
{
var res = from r in db.Subjects.....
}
1-SQL:在中使用:
SELECT SubjectName FROM Subject sub
INNER JOIN SubjectEnrolled subEn on sub.SubjectId = subEn.SubjectId
WHERE subEn.StudentID = 7
2-Linq查询:
我希望这对您有所帮助。对不在中的sql使用已存在的内部联接。请检查此问题:这是否回答了您的问题?
var res = (from sub in db.Subjects
join subEn in db.SubjectEnrolleds on sub.SubjectId equals subEn.SubjectId
where subEn.StudentID = 7).ToList();