나는 다음과 같은 모델이 있습니다 표준 SQL을 사용하여C#을 GROUPBY와 Linq에 방법 및 선택
public class HeadCount
{
public int Id { get; set; }
public int ContractId { get; set; }
public string FiscalYear { get; set; }
public string TaskOrder { get; set; }
public decimal ContractHours { get; set; }
public int PersonId { get; set; }
public string CompanyName { get; set; }
public string UserId { get; set; }
public int ClinAssignId { get; set; }
}
, 나는 내가 SSMS에서 다음 스크립트를 실행 한 :
select personid, sum(contracthours) as hours from headcounts where personid != 0 group by personid
I 변환하려고 stubbling 오전 이것은 LINQ menthod 호출에 대한 것입니다. 이것이 제가 시도한 것입니다 :
var results = _context.HeadCounts
.GroupBy(p => p.PersonId)
.Select(n => new {personid = n.Key, hours = n.Sum(ContractHours)});
합계에 ContractHours
을 좋아하지 않습니다. 나는 시험해 보았다. n.ContractHours
내가 뭘 잘못하고 있니? 컬렉션이 원시적 숫자 모음이 아닌 경우
'n.Sum (g => g.ContractHours) ' – Rob
@Rob - 고마워! 나는 그것이 단순한 것이라고 생각했다. 함수 안의 lambdas를 완전히 잊었습니다. –
어떤 오류 메시지가 나타 났습니까? –