2017-05-18 5 views
0

폴더 선택에서 모든 항목을 찾을 때 항목 ID를 기반으로 SearchFilter를 적용 할 수있게하려고합니다.목록에서 ID와 일치하는 항목을 제외하여 모든 EWS 항목을 필터링하는 방법

내가 쉽게 모든 항목을 얻을 수있는 다음 LINQ는

(w => !uniqueItemIdList.Contains(w.Id.UniqueId)) 

같은 where 절을 적용하여 그러나 문제는 대신 항목의 원래 발견 동안의 메일 항목의 1000 년대 뽑아 후이 될 것입니다.

내 목표는 모든 이메일을 가져 와서 db로 복사 한 다음 고유 ID가 일치하는 이메일을 제외하여 아직 복사하지 않은 이메일 만 가져 오는 것입니다.

지금까지는 모든 것이 가능하지 않으며 FolderId = "..."또는 "..."이 포함 된 제목과 같은 개별 필드에서만 검색 할 수 있음을 나타내며 목록이나 제외에 대한 언급이 없습니다.

도움을 주시면 감사하겠습니다.

답변

0

ItemId는 검색 가능한 속성이 아니므로 SearchFilter로하려는 것은 작동하지 않습니다. SyncFolderItems https://msdn.microsoft.com/en-us/library/office/aa563967(v=exchg.150).aspx은 ItemId를 기반으로 제외 목록을 허용합니다 (그러나이 많은 크기의 항목은 없을 것입니다). 더 쉬운 해결책은 Item Creation Date를 기반으로하는 SearchFilter를 사용하는 것입니다.