C# 嵌套SQL到LINQ
我有三张桌子C# 嵌套SQL到LINQ,c#,sql,linq,C#,Sql,Linq,我有三张桌子 文档(文档ID、文档名称) 主题(主题,主题名称) DocumentSubjects(DocumentID,SubjectID) 我想从Documents表中获取文档,其中提供SubjectID作为输入 这是一个SQL查询 Select * from Documents where DocumentID IN ( Select DocumentID From DocumentSubjects Where SubjectID= 2 ); 我想在LINQ中查询此问
Select * from Documents where
DocumentID IN (
Select DocumentID From DocumentSubjects Where SubjectID= 2
);
我想在LINQ中查询此问题,请您帮助我,提前谢谢。:)
或
如果您希望以更“类似SQL的方式”使用它:
var result = (from document in context.Documents
where (from documentsubject in context.DocumentSubjects
where documentsubject.SubjectID == 2
select documentsubject.DocumentID)
.Contains(document.DocumentID)
select document).ToList();
在StackOverflow,你应该尝试自己解决问题,然后来这里询问,包括你解决问题的尝试。
context.Subjects.Where(s=>s.SubjectID == 2).SelectMany(s=>s.Documents).Distinct()
var result = (from document in context.Documents
where (from documentsubject in context.DocumentSubjects
where documentsubject.SubjectID == 2
select documentsubject.DocumentID)
.Contains(document.DocumentID)
select document).ToList();