У меня есть следующая подпись метода:
internal static int[] GetStudentIDsThatAreNotLinked(PrimaryKeyDataV1[]
existingStudents, IQueryable<Student> linkedStudents)
PrimaryKeyData - это класс, в котором целыми числами являются ServerID и LocalID.
Студент - это класс, который (помимо других свойств) имеет целое число, называемое StudentID.
На английском языке я хочу вернуть массив целых чисел, которые находятся в существующиеStudents [...]. ServerID, но не в relatedStudents [...]. StudentID
Если бы «существующие элементы» и «связанные элементы» были целочисленными массивами, я бы использовал запрос linq, как показано ниже:
return from es in existingStudents where
!linkedStudents.Contains<int>(es) select es;
.. который затем может быть преобразован в массив целых чисел.
Что я хочу сделать, так это дать Содержит IEqualityOperator, который будет считать класс PrimaryKeyData равным классу Student, если PrimaryKeyData.ServerID == Student.StudentID
Так что я думаю, что мне нужно лямбда-выражение, но я очень запутался в том, как это будет сконструировано.
Я думаю, что я иду в правильном направлении, но может ли кто-нибудь помочь мне преодолеть последнее препятствие?