2011-10-05 2 views

답변

14

FirstOrDefault()은 입력 컬렉션에 0 개 이상의 결과가있을 것으로 예상되는 경우이며 여러 개의 결과가있는 경우 첫 번째 항목을 반환하고 그렇지 않은 경우 기본값을 반환합니다.

SingleOrDefault()은 입력 컬렉션에서 0 또는 하나의 결과가 예상되는 경우이며 결과는 정확히 하나 인 경우 하나의 결과를, 두 개 이상의 결과가있는 경우 예외는 예외입니다. 이 행의 수를 취할 것입니다하지만 그것이 행의 수를 취할 것입니다하지만 단지 그것의 첫 번째를 반환합니다 예외 먼저 처리 할 수 ​​ NULL의 경우는 null의 경우 단지 그것의 첫 번째를 반환합니다 firstordefault

7

두 개 이상의 항목이있는 경우 SingleOrDefault는 "두 개 이상의 요소를 포함하는 시퀀스"예외를 throw합니다.

0

그것은 단지 하나 개의 행을하지만 단지 하나 개의 행을하지만 그것은 &

당신의 결과 세트 0을 반환하는 경우 예외를 처리 할 수 ​​반환 한 null의 경우는 예외를 처리 할 수 ​​반환 singleordefault 그것은 예외 가 발생합니다 기록 :

SingleOrDefault는 유형의 기본값을 반환합니다 (예 : INT에 대한 기본값은 0) 설정을 반환 1 개 기록 될 경우 유형 의 기본 값을 반환 FirstOrDefault 을 : 기록 FirstOrDefault 반환하는 반환 SingleOrDefault

그 기록 당신의 결과 집합을 반환 많은 레코드 경우 :

당신은 결과 세트가 많은 레코드를 포함하는 경우 예외가 throw 할 경우는, SingleOrDefault를 사용 SingleOrDefault는 첫 번째 레코드 결론을 반환 FirstOrDefault 예외 가 발생합니다. 당신은 항상 상관없이 결과 집합에 포함 된 내용을 한 기록을 원하는 경우에

, 여기 FirstOrDefault에게

관련 문제