GQ08 VI: l'équivalent de 'in' avec Linq to Sql
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();