죄송합니다. 이미 어딘가에 물어 보았지만 찾지 못했습니다. 평균 및 합계는 익명 유형에서 작동하지 않는 것으로 보입니다. 나는이 코드를 작동 시키려면 잠시 동안 노력해왔다. 운이 없다.평균 및 합계가 익명 형식에서 작동하지 않습니까?
var trainingPlan = (from tp in context.TPM_TRAININGPLAN
join tpd in context.TPM_TRAININGPLANDELIVERABLES on tp.TRAININGPLANID equals tpd.TRAININGPLANID
join t in context.TPM_TASK on tpd.TASKID equals t.TASKID
where tp.TPM_PROJECTVERSION.PROJECTID == projectId && tp.TPM_PROJECTVERSION.VERSIONID == versionId && tp.TRAININGPLANTYPE == "prescribed"
select new
{
CourseLength = tp.COURSELENGTHHOUR * 60 + tp.COURSELENGTHMINUTE,
DeliveryMethod = tp.TPM_DELIVERYMETHODS.NAME,
CourseCode = t.COURSECODE
});
내가 지금 CourseLength 속성의 합을 먹고 싶어, 그래서 내가 할 : 내가 뭘 쿼리는
int sum = trainingPlan.Sum(l => l.CourseLength.Value);
그러나, "합"을 0으로 같은 것을 끝 "평균". 디버거에서 trainingPlan에 CourseLength = 90 및 CourseLength = 150의 두 항목이 있음을 분명히 볼 수 있습니다.
합계는 이러한 유형의 열거 형에서 작동하지 않습니까? 감사!
'합계()'가장 확실히 익명 형식에서 작동합니다 - 특히이 경우, 그것은 존재의 어떠한 익명이 존재하지 않는 경우 어떤 시점에서 SQL로 변환되었습니다. –
DB 공급자를 통해 쿼리하는 경우 작동하지 않는다고 말하는 것입니까? 이 경우 모든 것을 "쿼리"한 다음 데이터베이스에서 수행하는 대신 오프라인에서 숫자를 "평균"수 있습니까? –
어떤 LINQ 공급자 (EF, LINQ to SQL, ...)를 사용하고 있습니까? 생성 된 SQL을 볼 수 있습니까? – svick