Entity Framework 7 groupé par

asp.net-core asp.net-core-mvc entity-framework-core

Question

J'essaie d'exécuter le code suivant, mais lorsque je vérifie le profileur SQL, il semble exécuter une sélection complète sur la table, puis le regroupement après qu'il renvoie tous les résultats de la base de données. Toute aide est appréciée.

 var result = _dbContext.LogEvent.GroupBy(x => x.EventLevel)
                                 .Select(g => new 
                                              { 
                                                  eventType = g.Key, 
                                                  total = g.Sum(i => i.Occurrences) 
                                              }) 
                                 .ToList();

Réponse acceptée

Actualisé:

La question liée ci-dessous a été clôturée et est prévue pour EF 2.1.0. Vous devriez pouvoir l'essayer maintenant en utilisant le package Preview!


Réponse originale:

Il ne semble pas que cela soit actuellement pris en charge , mais il semblerait que quelqu'un ait vu ce message et créé le problème lié.

Le concept est un peu complexe logique, et EF7 est très tôt. GroupBy de .Net ne se traduit pas directement en GROUP BY SQL tant que vous ne le suivez pas uniquement avec des agrégats ou avec la clé dans une Select . Si vous vous sentez ambitieux, vous pouvez travailler sur une demande de tirage ou continuer à utiliser EF6.


Réponse populaire

Cela ne sera probablement pas soutenu dans un avenir rapproché - malheureux. Cela va causer beaucoup de frustration parce que beaucoup de gens ne lisent pas les notes de publication et supposeraient naturellement que cela fonctionnerait comme avant (EF6 / Linq2SQL).

Je réalise que cela peut être complexe pour des choses plus complexes impliquant des entités entières, mais il est dommage que cela ne soit même pas pris en charge pour des requêtes simples comme la vôtre :-(

https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-entity-framework-core-rc2/



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi