2010-02-04 8 views

risposta

11

Ho dovuto fare un po 'di ricerche per trovarlo e ho pensato che potesse essere utile per gli altri.

List<string> names = new List<string>() { "jones", "anderson" }; 

from u in users where names.Contains(u.lastname) select u 
+0

si sta per imbattersi in un problema con l'espressione 'Contains' non essere traducibili a SQL, in modo che non funziona se gli utenti è un' System.Data.Linq.Table' su un LinqToSql DataContext. –

+1

@klausbyskov: questo non è vero. Entity Framework/LINQ to Entities non è in grado di farlo in .NET 3.5, ma LINQ to SQL sarà felice di convertirlo in SQL. L'unico risultato è che il numero di elementi nella clausola IN() (il numero di elementi nell'elenco "nome") è limitato, a causa delle limitazioni di ADO.NET. – Steven

+0

@klausbyskov: In realtà funziona bene - ho eseguito il codice e guardato il risultato in SQL profiler. Mi hai dato i downvotes? – Jedidja