我有三节课

class students
{
   int age
   string name
   List<Courses> Courses
}
class Courses
{
   int courses_id
   string Name
}
class Subject_Name
{
   string Name
}


我有一个学生列表和subject_names列表,我想编写一个linq查询,如果有的话返回那些学生
单门课程与其课程相匹配。

SQL查询将像

select * from students
inner join Courses on students.Courses_id=Courses.Courses_id
and Courses.Name in (select name from subject_Name)


任何人都可以寻求帮助。

最佳答案

您需要执行以下操作:

string[] subject_names = {"subject1" , "subject2"};

var result = students_table
        .Where(s => s.Courses.Any(c => subject_names.Contains(c.Name)))
        .ToList();

关于c# - 多列表与单列表比较Linq查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34404470/

10-11 14:41