【发布时间】:2010-07-02 05:03:17
【问题描述】:
我有以下方法签名:
internal static int[] GetStudentIDsThatAreNotLinked(PrimaryKeyDataV1[]
existingStudents, IQueryable<Student> linkedStudents)
PrimaryKeyData 是一个具有 ServerID 和 LocalID 整数作为属性的类。 Student 是一个类(在其他属性中)有一个称为 StudentID 的整数。
在英语中,我想要做的是返回一个整数数组,这些整数在 existingStudents[...].ServerID 但不在linkedStudents[...].StudentID 中
如果“existingStudents”和“linkedStudents”都是整数数组,我会使用如下的 linq 查询:
return from es in existingStudents where
!linkedStudents.Contains<int>(es) select es;
..然后可以转换为整数数组。
我想要做的是给包含一个 IEqualityOperator,如果 PrimaryKeyData.ServerID == Student.StudentID,它将认为 PrimaryKeyData 类等于 Student 类
所以我认为我需要一个 lambda 表达式,但我对如何构造它感到非常困惑。
我认为我的方向是正确的,但谁能帮助我克服最后的障碍?
【问题讨论】: