比较linq中的两个列表

时间:2009-11-24 15:24:57

标签: c# linq linq-to-sql

我需要两个表,我需要比较两个表。

让我们说表1)学生简介2)员工名单.--在这里每个员工都有他们的学生ID,就像很多行

我需要让现有员工登录的学生ID可能很多。

从表1中得到的学生档案。

1 个答案:

答案 0 :(得分:0)

根据您所描述的内容,员工表中每个员工都有多个条目(至少1个),并且这些条目具有一个唯一的StudentID映射人员到学生。像这样:

StaffID = 1, StudentID = 3
StaffID = 1, StudentID = 21
StaffID = 2, StudentID = 45
...

使用上述类型的设置,您可以获取属于当前登录的员工用户的学生列表,然后查询学生表以查找匹配的学生:

 int staffID = 1; // current staff user
 var staffStudents = StaffTable.Where(s => s.StaffID == staffID)
                                      .Select(s => s.StudentID);
 var query = StudentTable.Where(student =>
                        staffStudents.Any(id => id == student.StudentID));