나는 사람들의 이름과 나이가있는 데이터베이스를 가지고있다. 이름으로 그룹화하고 기준과 일치하는 각 이름의 양을 가져 오는 쿼리가 있습니다. ListHelper 유형은 두 속성을 포함하는 클래스입니다.linq 카운트 결과의 합계를 얻는 방법
IEnumerable<ListHelper> HelperEnumerable = null
HelperEnumerable = _repository.Persons
.Where(b => b.Age < 18)
.GroupBy(
n => n.FirstName
, a => a.FirstName
, (key, count) => new ListHelper { Name = key, Amount = count.Count() }
);
나는 HelperEnumerable이 결과는 같다) (ToList 경우 : 이름 : "마이클", 금액 : 100, 이름 : "에바", 금액 : 122, 이름 : "리사", 금액 : 71, 는 등 내가 비슷한 결과를 얻을 수있는 방법
는하지만,이 같은 결과 기준과 일치하는 모든 사람의 카운트
: 이름 : "모든", 금액 : 17,280내가 좋아하는 것은이합니다 키 값 쌍이므로 나머지 코드는 모두 동일하게 유지 될 수 있습니다. 쿼리는 특정 columm에 의해 그룹화되지 않고 모든 matchig 행의 수를 반환합니다.
난 단지 INT 수 반환이 시도했다 :
HelperEnumerable = _repository.Persons
.Where(b => b.Age < 18).Count();
을 내가 가지고 결과를 투영하려고) 백작 (후
.Select(a => (key,count) new ListHelper{ key = "All", count = a })
를 추가 할 수 없습니다 두 개의 필드.
감사합니다. @tolanj, 그게 내가해야 할 일을 정말로했습니다. 나는 그 명백한 해결책을 시도하지 않기에 너무 혼란 스러웠다 고 생각한다. :) – Lupa