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)

}
 
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.
 
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.
 
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

Zurück