Comment obtenir ObjectResult à partir d'Entity Framework à l'aide d'une liste d'identités

c# entity-framework

Question

J'ai un ensemble de valeurs d'identité que je dois utiliser comme valeurs de requête pour renvoyer un ObjectResult à partir de Entity Framework

Voici le hachage:

HashSet<int> officeIds = new HashSet<int>();

Voici la requête que j'essaie d'exécuter plus ou moins:

ObjectResult<FilingOffice> offices = ctx.FilingOffice.Where(office => office IN officeIds.ToList());

La partie "office => office IN officeIds.ToList ()" est ce que je ne peux pas me mettre au travail et je n'ai trouvé aucun échantillon sur le Web pour la récupération des objets avec une liste de clés primaires.

ctx est le System.Data.Objects.ObjectContext

Réponse acceptée

Les exemples cités par d’autres ne fonctionnent pas dans Entity Framework aujourd’hui, car vous ne pouvez pas mélanger les énumérations client et serveur dans les entités LINQ 2.

Au lieu de cela, vous devez créer une expression OR manuellement.

Je lance une série de conseils EF et cette astuce vous montre comment créer une expression OU.

J'espère que cela t'aides

Alex


Réponse populaire

J'ai souvent eu des problèmes similaires, une autre question de Stack Overflow avec de bonnes informations est: le moyen le plus efficace d'obtenir plusieurs entités par clé primaire?

Je préfère utiliser:

var entities = db.Entities.WhereIn(x => x.Id, ids);


Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow