Wie kann ich do this mit Entity Framework?Entity Framework 6: Hinzufügen einer Zusammenfassungszeile mit Summen
Ich arbeite mit Entity Framework 6 und SQL Server 2014
Ich brauche eine Gruppe von Abfrage zu tun. Das ist einfach, aber jetzt brauche ich einen Spezialfall. Hier ein Beispiel, um zu klären, was ich brauche.
Nehmen wir an, ich muss nach FARBE gruppieren, ABER ich möchte auch einen weiteren Datensatz mit dem Aggregat auf allen Zeilen erstellen. So
, wenn ich eine groupby & Zahl Abfrage machen, werden die result'd:
Output
COLOR COUNT
red 2
green 2
yellow 1
allColor 5
in SQL es möglich ist, wie Sie in der oben gepostet Link sehen können. Wie kann ich mein Ziel mit Entity Framework erreichen?
In meinem realen Fall habe ich das versucht, aber die letzte Zeile ist im Visual Studio rot hinterlegt.
var tempErogs = erogs.GroupBy(x => 0).Select(g => new { Modalita = g.Key, Importo = g.Sum(x => x.IMPORTO), Litri = g.Sum(x => x.LITRI), N_erogs = g.Count() }).ToList();
erogsGBvenduto.Add(new { Modalita = tempErogs[0].Modalita, Importo = tempErogs[0].Importo, Litri = tempErogs[0].Litri, N_erogs = tempErogs[0].N_erogs });
die gleiche Abfrage in einer gespeicherten Prozedur Setzen Sie die bereits die Daten in das gewünschte Format zurückkehrt und dass die gespeicherte Prozedur von EF nennen. Sie können die gespeicherte Prozedur als eine Funktion importieren, die von Ihrer DAL-Schicht aufgerufen werden kann. – RBT
Ich nehme an, Sie können union all (Concat in LINQ) verwenden, aber es wäre besser, die gesamte Zeile per Hand anzuhängen (entweder in der Benutzeroberfläche oder nur zum resultierenden Dataset), weil Sie alle Daten bereits im Speicher haben. – Evk
Suchen Sie das Update, ich habe meinen Code hinzugefügt –