2010-06-11 9 views
8

Sto interrogando una vista e filtrando i risultati con una colonna di stato. Vorrei interrogarlo in modo da poter cercare righe con stato diverso, usando l'operatore IN come farei in SQL.Come utilizzare l'operatore IN in linq

Come così:

SELECT * FROM vista in cui Stato in ('.... '' .....')

Come posso raggiungere questo obiettivo?

risposta

18

Se la vostra espressione di query utilizza il metodo di un oggetto IEnumerableContains, il parser trasformarla in un IN espressione utilizzando i valori nel IEnumerable.

List<string> foo = new List<string>() { "a", "b", "c" }; 

var query = dataContext.View.Where(v => foo.Contains(v.Status)); 
+0

Grazie Adam! Funziona come un fascino! – Hallaghan