| 

.NET C# Java Javascript Exception

3
Ich möchte für eine Tabelle mehrere statistische Zahlen berechnen:

Statistik GetStatistik()
{
return new Statistik()
{
Min = DataContext.Messungen.Min(m => m.Wert),
Max = DataContext.Messungen.Max(m => m.Wert),
Avg = DataContext.Messungen.Average(m => m.Wert),
Cnt = DataContext.Messungen.Count(),
};
}

Das produziert natürlich vier Datenbankabfragen obwohl der SQL-Server das auch in einer könnte. Kann man mit LINQ mehrere Abfragen zugleich verschicken?
News:
01.09.2009
barichello 61 1 2
1 Antwort
1
Es ist möglich SQL-Statements zu verwenden, anders gehts leider nicht.
var stats = dc.ExecuteQuery<double>(
"SELECT MAX(Wert), MIN(Wert), AVG(Wert) " +
"FROM Messungen");


Oder indem gruppiert wird (ergibt aber nicht das schönste SQL):
var stats = from m in messungen
group m by 1 into grp
select new
{
Max = grp.Max(g => g),
Min = grp.Min(g => g),
Avg = grp.Average(g => g)
};
01.09.2009
gfoidl 9,4k 3 5
gfoidl 9,4k 3 5
1
Das passt leider nicht, weil ich dann für jede Messung die Statistik bekäme.
barichello 01.09.2009
Stimmt, da hab ich einen Blödsinn gepostet. Hab die Antwort geändert.
gfoidl 27.09.2009

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH