Si quiero filtrar una lista de objetos contra un ID específico, puedo hacer esto:expresión lambda porque dentro de la lista
list.Where(r => r.Id == idToCompare);
¿Qué pasaría si, en lugar de una sola idToCompare
, tengo una lista de ID para comparar?
¿Cuál es la sintaxis para comparar con una lista predefinida? Algo así como:
int[] listofIds = GetListofIds();
list.Where(r => r.Id "in listofIds");
utiliza con Entity Framework (y, posiblemente, LINQ to SQL), en realidad esto se traducirá en "SELECT * FROM Table donde Id en (1,2,3,4) ", lo que resulta en un solo viaje al servidor. –
@IgorZevaka - si va a consultar el DB usando EF, preferiría usar SortedSet (que es una especie de superconjunto de HashSet). También es único, como HashSet, pero también ordenado. Luego indexaré mi columna Db en la que voy a ejecutar la cláusula 'where'. Eso será significativamente más rápido en datos de gran tamaño. – sandiejat