J'utilise Entity Framework. J'ai une relation de beaucoup à beaucoup Articles < -> Catégories. Chaque article peut appartenir à plusieurs catégories et chaque catégorie peut appartenir à plusieurs articles. Je peux obtenir le nombre d'articles dans chaque catégorie:Entity Framework: plusieurs à plusieurs nombre et somme
public IEnumerable<MenuCategory> GetMenuCategories()
{
return (from c in db.CategorySet.Include("Articles")
orderby c.CategoryName
select new MenuCategory
{
CategoryID = c.CategoryID,
CategoryName = c.CategoryName,
CountOfCategory = c.Articles.Count()
});
}
Mais je dois aussi obtenir le nombre total d'articles pour que je puisse calculer le pourcentage d'articles est dans chaque catégorie. Quelqu'un peut-il me dire comment faire cela en étendant le code ci-dessus et sans faire un appel distinct à la base de données?
Merci
J'ai ajouté une méthode pour obtenir le compte de la base de données puis appliqué le résultat à une propriété supplémentaire de mon objet MenuCategory. Les deux valeurs sont disponibles dans ma vue ASP.NET MVC, ce qui me permet de créer un nuage de mots-clés. Il en résulte 2 appels db, mais je veux vraiment éviter de mettre des calculs dans la base de données. –
ok, donc c'est essentiellement la dernière des 2 options que je propose –