Linq to SQL-Problem mit mehreren SUM-FehlernC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Linq to SQL-Problem mit mehreren SUM-Fehlern

Post by Anonymous »

Ich versuche, Linq zu verwenden, um einen SQL-Befehl wie diesen zu generieren

Code: Select all

return await query.GroupBy(x => new
{
Id = x.xId,
Date = x.Date
})
.Select(x => new OutputClass(x.Key.Id,
x.Key.Date,
x.Sum(g => g.Tot.Value),
x.Sum(g => g.Table1.Table2.Ind ? g.Tot.Value : 0),
x.Sum(g => g.Table1.Table2.War ? g.Tot.Value : 0),
x.Sum(g => g.Table1.Table2.Non ? g.Tot.Value : 0)
)
)
.ToListAsync();
Das erwartete Ergebnis ist etwa

Code: Select all

SELECT
SUM(...),
SUM(CASE WHEN ...),
SUM(CASE WHEN ...),
SUM(CASE WHEN ...)
FROM
Allerdings ist die Übersetzung in SQL eine Verknüpfung zwischen mehreren SUM, die dieselbe Abfrage wiederholen.
Natürlich ist die Leistung eine Katastrophe. Ich habe versucht, ein Select vor GroupBy einzufügen, aber es hat nicht funktioniert.
Irgendwelche Ideen, um alles in der Datenbank (nicht im Speicher) auszuführen, kein reines SQL zu verwenden und das Erstellen einer Ansicht zu vermeiden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post