Lambda sum Problem


julia23

Mitglied
C#:
 Var summe1 = from l in db.Lg7s

&& newint[]{0,40}.Contains(l.REATE)

&& l.ANSWERING>0

select (l.TALKINGTIME + l.ONHOLDTIME + l.ACTIONTIME + l.UPTIME)).Sum(i => i);


Ich würde das gerne in diese Abfrage einbauen. Bei Summe1 habe ich den versuch gemacht. Leider funktioniert das so nicht.(also schon alleine die Syntax nicht) Kann mir jemand helfen?


C#:
  var pilotgroup = (from l in db.Lg7

  where c.IdClasse == "7"

  select l)

  .GroupBy(l => l.NUMBER)

  .Select(group => new

  {


T4Number = group.Count(lg => lg.TALKINGTIME == 0),


Summe1 = group.Select(new {l.TALKINGTIME + l.ONHOLDTIME + l.ACTIONTIME + l.UPTIME}).Sum(lg => newint[]{38,40}.Contains(lg.CAUSE) && lg.ANSWERING>0)

}
 

julia23

Mitglied
Der erste Codeabschnitt funktioniert so. Obwohl du recht hast, dass ich das Leerzeichen aus versehen hier nicht eingefügt habe. Aber ich will es in den unteren Code umschreiben, siehe Summe1.
 

julia23

Mitglied
Mein neuer Versuch war:
C#:
Summe1 = group.Where(lg => new int[]{38,40}.Contains(lg.CAUSE) && lg.AGENT>0).Select(lg => new { Duration =  lg.ONHOLDTIME + lg.ACTIONTIME + lg.WRAPUPTIME}).Sum(),

Hier wird mir aber von der IDE angezeigt, dass die Methode Sum hier nicht gültig ist.
 

julia23

Mitglied
Ich denke ich hab die Lösung gefunden:

C#:
Summe1 =group.Where(lg =>newint[]{38,40}.Contains(lg.CAUSE)&& lg.ANSWERING>0).Sum(lg => lg.EN_ TALKINGTIME + lg.EN_ ONHOLDTIME + lg.EN_ ACTIONTIME + lg.UPTIME);

Ich hab versucht von dem anonymen Typen eine Summe zu machen...
 

Neue Beiträge

Forum-Statistiken

Themen
272.360
Beiträge
1.558.622
Mitglieder
187.833
Neuestes Mitglied
SirrDansen