Próbuję pobrać wszystkie informacje o projektach z SharePoint za pomocą modelu strony po stronie klienta (CSOM). Oto jak ja dostaję informację projekty:Jak uwzględnić wartość pola Project Project w żądaniu CSOM
projectContext.Load(projectContext.Projects,
c =>
c.Where(p => p.Id == new Guid(id))
.IncludeWithDefaultProperties(f => f.Name, f => f.Owner.Id, f => f.CreatedDate,
f => f.StartDate, f => f.FinishDate, f => f.PercentComplete, f => f.Description));
projectContext.Load(projectContext.LookupTables, c => c.Include(f => f.Id, f => f.Entries));
projectContext.Load(projectContext.Web.SiteUsers);
projectContext.ExecuteQuery();
Jednak również trzeba pobrać FieldValues własności z tych projektów, a ja nie mogę dowiedzieć się, jak umieścić go w tym samym zapytaniu. Znalazłem jak to zrobić na poziomie projektu po tym, jak odzyskać projektów z powyższym kodzie, jak poniżej:
var pubProject = project.IncludeCustomFields;
projectContext.Load(pubProject);
projectContext.Load(pubProject.CustomFields);
projectContext.ExecuteQuery();
var fieldValues = pubProject.FieldValues;
Teraz pubProject będzie zawierać informacje FieldValues, ale przy użyciu tego podejścia dla wszystkich projektów jest zbyt powolny (trwa 1 - 4 sekundy, aby zadzwonić do SharePoint), ponieważ muszę wykonać dodatkowe żądanie dla każdego projektu, a najlepszą praktyką dla CSOM jest wykonanie jak najmniejszej liczby połączeń.
Gdybym to FieldValues w dziedzinach include
coś takiego:
projectContext.Load(projectContext.Projects,
c =>
c.Where(p => p.Id == new Guid(id))
.IncludeWithDefaultProperties(f => f.Name, f => f.Owner.Id, f => f.CreatedDate,
f => f.StartDate, f => f.FinishDate, f => f.PercentComplete, f => f.Description, f => f.FieldValues));
Dostaję następujący błąd:
The query expression 'f.FieldValues' is not supported.
Jestem fac ten sam problem tutaj. Jakieś aktualizacje dotyczące problemu? –
@HellKeeper Nie ma żadnych aktualizacji na ten temat. Nie znalazłem rozwiązania. –