2010-08-16 14 views

risposta

59

Uso Contains:

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

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

o in sintassi di query:

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

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

Grazie mille ... –

+0

@ Jon Skeet ringrazia. Ma ho una domanda. Credo che tu possa risolverlo. Questo è quando ID sta recuperando da un altro schema di tabella e contiene alcuni milioni di dati, quindi non posso renderlo più veloce. È più lento per il confronto. È un mio pensiero o il compilatore sta dando il miglior tempo di esecuzione ottimizzando la gestione dell'indicizzazione interna/dell'altro algoritmo complesso? Per favore, rispondi, ne ho bisogno ora. –

+2

@MuhammadAshikuzzaman: In tal caso, dovresti farlo con un join. –

2

Penso che risposta si trova da qualche parte in questo senso ...

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

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

e, naturalmente, Jon Skeet offre la migliore risposta. Ed è PRIMO! Mi chiedo come lo faccia, davvero. :-) –

Problemi correlati