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();