2010-08-16 8 views

Respuesta

59

Uso Contains:

int[] ids = { 1, 2, 3, 4, 5}; 

var query = db.myTable.Where(item => ids.Contains(item.ID)); 

o en la sintaxis de consulta:

int[] ids = { 1, 2, 3, 4, 5}; 

var query = from item in db.myTable 
      where ids.Contains(item.ID) 
      select item; 
+0

Muchas gracias ... –

+0

@ Jon Skeet gracias. Pero tengo una pregunta. Creo que puedes resolver eso. Es entonces cuando se están obteniendo ids de otro esquema de tabla y contiene algunos millones de datos, entonces no puedo hacerlo más rápido. Está siendo más lento para la comparación. ¿Es mi opinión o el compilador ofrece el mejor tiempo de ejecución optimizando la gestión de indexación interna/algún otro algoritmo complejo? Por favor, respuesta, lo necesito ahora. –

+2

@MuhammadAshikuzzaman: En ese caso, deberías hacerlo con una unión en su lugar. –

2

Creo que la respuesta está en algún punto a lo largo de estas líneas ...

Array a = {1,2,3,4,5} 

...WHERE a.Contains(ID) 
+2

y, por supuesto, Jon Skeet da la mejor respuesta. ¡Y él es PRIMERO! Me pregunto cómo lo hace, realmente. :-) –