Question

J'ai compilé la requête suivante que je veux retourner une liste des « groupes » qui n'ont pas de « GroupID » qui est contenu dans une liste filtrée:

CompiledQuery.Compile(ConfigEntities contexty, List<int> list) =>
    from c in context.Groups
    where (!csList.Contains(c.GroupID))
    select c).ToList()

Cependant, je reçois l'erreur d'exécution suivante:

  

Les paramètres spécifiés catégories '' de type 'System.Collections.Generic.List`1 [[System.Int32, mscorlib, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = b77a5c261364e126]]' est pas valide. Seuls les paramètres scalaires (tels que Int32, décimal et Guid) sont pris en charge.

Toutes les idées?

Était-ce utile?

La solution

Cette requête fonctionne très bien dans EF 4.

EF 1, IEnumerable.Contains ne sont pas pris en charge dans L2E (avec ou sans CompiledQuery). Il existe une solution, cependant; Google "BuildContainsExpression`, ou regardez ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top