Linq-Abfrage

26/05/2010 - 21:15 von ludwig Koenigbauer | Report spam
Hallo zusammen,
Ich bitte um Euere Hilfe bei der Formulierung einer LINQ-Abfrage.
Mit dem folgendem SQL-Statement gebe ich den Prozentanteil der
Zahlen im angebenen Bereich einer Spalte "zahlung" aus.
SELECT Count(CASE
WHEN zahlung > 0
AND zahlung <= 100 THEN 1
ELSE NULL
END) * 100.0 / Count(* ) AS [ > 0 <= 100]
FROM jahrgang

Jetzt wollte ich dasselbe über Linq formulieren, leider komme ich
nicht weiter als mit dem folgenden Code.
Wie kriege ich die Formulierung der _prozentAnteil Abfrage hin

var total = (from u in context.GetTable<JG10Q1>()
where u.zahlung > 0 && u.zahlung <
100
select u).Count();

var query = (from j in context.GetTable<JG10Q1>().AsEnumerable()
where j.zahlung > 0
select new
{
_prozentAnteil = ((j.zahlung > 0 && j.zahlung <
100) ? 1 : 0)
/ j.zahlung * 100 / total
}).ToList();

Für Hinweise wàre ich Euch dankbar.
Grüße
Ludwig
 

Lesen sie die antworten

#1 Frank Dzaebel
27/05/2010 - 08:18 | Warnen spam
Hallo Ludwig,

Ich bitte um Euere Hilfe bei der Formulierung einer LINQ-Abfrage.
Mit dem folgendem SQL-Statement gebe ich den Prozentanteil der
Zahlen im angebenen Bereich einer Spalte "zahlung" aus.
SELECT Count(CASE
WHEN zahlung > 0
AND zahlung <= 100 THEN 1
ELSE NULL
END) * 100.0 / Count(* ) AS [ > 0 <= 100]
FROM jahrgang



zum Beispiel etwas wie:

double prozentAnteil = context.jahrgang.Where(
p => p.zahlung > 0 && p.zahlung <= 100).Count()
* 100.0 / context.jahrgang.Count();


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen