도와주세요. LinQ 쿼리에 많은 필터 조건이 있습니다.LinQ 집계 오류 - 시퀀스에 요소가 없습니다.
아래는 내 쿼리입니다 :
Error Message : Sequence contains no elements
Stack Trace : at System.Linq.Enumerable.Aggregate[TSource](IEnumerable`1 source, Func`3 func)
내가 LINQ에 새로운 오전 : 어떤 경우에는
var Aggregate = linqkb.Where(s => s.Status.Equals("Approved")).Select(s => s.Approver)
.Distinct()
.Aggregate((i, j) => i + ";" + j)
.Split(';')
.Distinct();
, 나는 오류를 얻고있다. 제발 제안 해주세요. 아래 그림과 같이
내가 봤 및 Aggregator
전에 **.DefaultIfEmpty()**
를 사용하여 시도했다 :
var Aggregate = linqkb.Where(s => s.Status.Equals("Approved")).Select(s => s.Approver)
.Distinct()
.DefaultIfEmpty()
.Aggregate((i, j) => i + ";" + j)
.Split(';')
.Distinct();
하지만이 나던 작품.
제안 사항?
이 순서의 요소는 어떤 타입 : 당신은 당신이 사용해야을 추출하고 별개의 목록을 얻으려면? –
호출을 분할하고 중간 결과를 디버그 할 수 있습니다. 아마도'Status = "Approved"라는 요소가 없을 수도 있습니다. 'DefaultIfEmpty'는 또 다른 빈 시퀀스 afaik만을 제공합니다. –
왜 당신은'';''으로 접속하여 다음 줄에서 다시 분리합니까? 예외에 대한 가장 간단한 수정은 'Aggregate'즉 Aggregate ("", (i, j) => i + ";"+ j) "에 초기 값을 제공하는 것입니다. – Lee