tengo el siguiente método de firma:¿Cómo puedo usar linq para devolver enteros en una matriz que no coinciden con una propiedad entera de otra matriz?
internal static int[] GetStudentIDsThatAreNotLinked(PrimaryKeyDataV1[]
existingStudents, IQueryable<Student> linkedStudents)
PrimaryKeyData es una clase que tiene enteros serverID y localId como propiedades. El alumno es una clase que (entre otras propiedades) tiene un entero llamado StudentID.
En Inglés, lo que quiero hacer es devolver una matriz de enteros que están en existingStudents [...]. ServerID pero no en linkedStudents [...]. StudentID
Si existingStudents '' y ' linkedStudents eran ambas matrices de enteros, usaría una consulta linq como a continuación:
return from es in existingStudents where
!linkedStudents.Contains<int>(es) select es;
..which entonces se podría convertir a una matriz de enteros.
Lo que quiero hacer es darle contiene un IEqualityOperator que se consideran una clase PrimaryKeyData a ser igual a una clase Estudiantes si PrimaryKeyData.ServerID == Student.StudentID
Así que creo que necesito una expresión lambda pero Estoy muy confundido sobre cómo se construiría eso.
Creo que voy en la dirección correcta, pero ¿alguien puede ayudarme a superar el obstáculo final?
Me apreciar el detalle adicional en la comprensión de consulta, pero por desgracia, la consulta devuelve el linkedstudents que no están en existingstudents pero necesitaba la estudiantes existentes que no están en los estudiantes vinculados –
@Neil: Mis disculpas ... Repararé mi respuesta. – LBushkin
Gracias y marcado. Es una lástima que no podamos aceptar respuestas múltiples, ya que ambos estaban más o menos en el dinero. –