2010-08-16 18 views

Odpowiedz

59

Zastosowanie Contains:

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

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

lub w składni zapytania:

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

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

Thanks a lot ... –

+0

@ Jon Skeet dziękuje. Ale mam pytanie. Wierzę, że możesz to rozwiązać. To wtedy, gdy ids pobiera z innego schematu tabeli i zawiera kilka milionów danych, nie mogę tego przyspieszyć. Dla porównania jest wolniejszy. Czy to moje myślenie lub kompilator daje najlepszą optymalizację czasu pracy poprzez zarządzanie wewnętrznym indeksowaniem/jakimś innym złożonym algorytmem? Proszę o odpowiedź, potrzebuję tego teraz. –

+2

@MuhammadAshikuzzaman: W takim przypadku powinieneś zrobić to z połączeniem. –

2

myślę odpowiedź leży gdzieś wzdłuż tych linii ...

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

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

i oczywiście, Jon Skeet daje najlepszą odpowiedź. I jest PIERWSZY! Zastanawiam się, jak on to robi naprawdę. :-) –

Powiązane problemy