간단히 말해서 수행 할 작업은 CSOM을 사용하는 SharePoint Project Server의 프로젝트에서 작업을로드하는 것입니다.정의되지 않은 수의 값을 비교하기위한 동적 람다 식 작성
var projects = ctx.LoadQuery(ctx.Projects
.Where(p => p.Id == projGuid)
.Include(
p => p.Id, p => p.Name,
p => p.Tasks
.Where(t => t.Id == taskGuid)
.Include(t => t.Name))
);
ctx.ExecuteQuery();
내 문제는이 부분 .Where(t => t.Id == taskGuid)
함께. 그것은 단지 1 개의 작업을로드하고 싶지만 더 많은 작업을로드하려는 경우 작동하지 않아야하는 방식으로 작동합니다. 물론 그것을 쓸 수있다. .Where(t => t.Id == taskGuid1 || t.Id == taskGuid2 || ...)
그러나 그것은 동적이지 않다. 내가 뭘하려
배열 및 배열GuidArray.Contains(p.Id)
경우 모양을 사용하는 것이었다 그러나 나는 Where()
표현 내부 .Contains()
를 사용하려고하면 오류가 발생합니다.
ClientRequestException : '포함'멤버를 식에 사용할 수 없습니다.
로드하고 싶은 작업의 수를 기반으로 람다 식을 어떻게 든 만들 수 있다면 생각했습니다. 람다의 창조
FirstOrDefault()를 사용하고 null이 아닌지 확인할 수 있습니까? 아니면 Any()를 사용할 수 있습니까? – LordWilmore
데이터베이스가 얼마나 잘 수행되는지에 따라 달라 지지만 빠르면 ID가있는 배열을 만들고 물마루를 루프 할 수 있습니다. –