2013-08-12 2 views
0

문제가 있습니다. 사실 나는 HH.mm 형식으로 데이터베이스 테이블에 workingHours를 가지고 있고 LINQ를 사용하여 모든 근무 시간을 합산하기를 원한다면 어떤 방법 으로든이 작업을 수행 할 수 있습니다.linq을 사용하는 시간 간격의 합계

totalWeekHours에서 나는 근무 시간이 모두 있으며 HH : mm 형식으로 바꿔야하지만 timespan에서 구문 분석하는 방법을 모르고 Linq를 사용하여 Sum()을 구문 분석합니다.

도와주세요.

var totalWeekHours = (from twh in db.MytimeMaster 
         where ((twh.date >= lstsun && twh.date <= tilldate) 
          && (twh.agentID == agentid)) 
         select twh.totalworkinghours).ToList(); 

if (totalWeekHours.Count > 0) 
{ 
    List cnvrtToTimespanlist = new List(); 
    foreach(var list in totalWeekHours) 
    { 
     cnvrtToTimespanlist.Add(list.ToString().Replace('.', ':')); 
    } 
} 
+3

코드를보다 유용하게 형식화하십시오. 왜 데이터베이스 데이터가 텍스트 형식으로 표시됩니까? 어떤 식 으로든 변경할 수 있습니까? (예를 들어, "working minutes"의 수치는 괜찮습니다.) –

+2

"can any 1"... please. Stack Overflow를 사용하는 많은 사람들이 영어를 처음 사용하는 것은 아니지만 텍스트 속어를 사용하는 것은 변명의 여지가 없습니다. – Tim

+0

@Tim 이미 바뀌 었습니다. – Default

답변

0

Aggregate 방법을 사용할 수 있습니다.

var sum = (from twh in db.MytimeMaster 
where ((twh.date >= lstsun && twh.date <= tilldate) && (twh.agentID == agentid)) 
select twh.totalworkinghours).Aggregate(TimeSpan.FromMinutes(0), (total, next) => total + next); 

p.s. 시간 간격에 대해 사용 된 TimeSpan을 가정합니다.

관련 문제