J'ai deux entités, Parent et Child, dans Entity Framework.Comment renvoyer de nombreuses collections d'enfants Count() dans une requête de structure d'entité unique
Le parent a une collection d'entités enfants.
Dans ma requête, je souhaite renvoyer uniquement les entités Parent (les types EF entièrement typés) et aussi Count() des entités enfant (cette propriété peut être définie sur une propriété du parent), mais je souhaite uniquement pour ce faire en un seul appel à la base de données, sans écrire un S-Proc personnalisé. Est-ce possible?
Essential, je veux transformer cela en une seule requête:
EFContext content = new EFContext();
IQueryable<Parent> parentQuery = context.Parent.Select();
foreach(Parent parent in parentQuery)
{
parent.NoChildItems = parent.Childs.Count();
}
Quand activer le recenseur sur ce cela, il appelle la base de données de la liste, et encore une fois pour chaque requête Count(). Je retourne environ 100 articles à chaque fois et préfèrerais donc ne pas faire 100 appels séparés juste pour le nombre d'articles pour enfants.
Merci pour toute aide.
Merci pour votre réponse, mais y a-t-il un moyen de le faire sans utiliser un cours anonyme? – James
Je pensais que tu allais dire ça! Peu importe, merci pour votre aide. – James
La solution ci-dessus, mais entraîne plusieurs appels db. Comment le compte peut-il être récupéré dans un appel pour tous les enregistrements dans ParentModel? –