2017-02-23 2 views
1

MSDN의 설명서에 따르면 FindItemsResults은 IEnumerable을 구현합니다. ICollection을 구현하는 Items이라는 속성이 있습니다. 컬렉션의 항목이 FindItemsResults 개체를 반복 할 때 표시되는 것과 동일한 항목인지 여부를 문서의 어느 곳에서도 찾을 수 없습니다. 이 품목들은 같은가요?FindItemsResults와 FindItemsResults.Items를 반복하는 것의 차이점은 무엇입니까?

그렇다면 FindItemsResults의 속성이 Items 인 이유는 무엇입니까? ICollection을 구현하지 않고 속성에 신경 쓰지 않는 이유는 무엇입니까?

+0

기본 객체에 대한 반복 작업으로 결과가 즉시 구체화되는 것은 아니지만'.Items' 호출은 그 안에 모든 항목이 포함 된 모음을 제공한다고 가정합니다. – DavidG

답변

1

[Items] 속성을 배열 또는 컬렉션으로 사용하고 EF 쿼리에 IEnumerable을 사용하여 간단한 방법으로 액세스 할 수 있습니다.

FindItemsResults members 항목이 결과라고 말합니까?

+0

아마도 나는 뭔가를 이해하지 못하고 있습니다. 왜 'Items' 속성으로 귀찮게합니까? 왜 그냥 ICollection을 구현하지 않는가? – Daniel

+0

IEnumerable은 고정 크기입니다. 따라서 기본적으로 항목을 추가하거나 제거 할 수 없습니다. 반복 및 쿼리 만 할 수 있습니다. ICollection에는 이러한 제한이 없습니다. IEnumerable이 최상의 기본값이되도록 검색 결과 집합을 수정하지 않으려합니다. 결과 집합을 반복 할 것이라고 가정하므로이 용도에 완벽합니다. –