Linq to Sql est capable de générer le 'in' Sql. Cela se traduit en Linq par l'usage de la méthode .Contains(). L'exemple ci-dessous compile mais pourtant plante à l'exécution.

Pourquoi donc ?

var db = new NorthwindDataContext(); var cq = CompiledQuery.Compile((NorthwindDataContext ctx, string[] cities) => from c in ctx.Customers where cities.Contains(c.City) select c); var list = cq(db, new string[] {"Paris", "London"}).ToList();