Sto provando a estrarre tutte le informazioni sui progetti da SharePoint utilizzando CSOM (Client Side Object Model). Ecco come sto ottenendo informazioni Progetti:Come includere FieldValues del progetto nella richiesta 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();
Tuttavia, ho anche bisogno di recuperare le proprietà FieldValues da quei progetti, e io non riesco a capire come includerlo nella stessa query. Ho trovato come farlo a livello di progetto dopo ho recuperato progetti dal codice di cui sopra, in questo modo:
var pubProject = project.IncludeCustomFields;
projectContext.Load(pubProject);
projectContext.Load(pubProject.CustomFields);
projectContext.ExecuteQuery();
var fieldValues = pubProject.FieldValues;
Ora pubProject conterrà informazioni FieldValues, ma utilizzando questo approccio per tutti i progetti diventa troppo lento (ci vuole 1 - 4 secondi per effettuare una chiamata a SharePoint), dal momento che ho bisogno di fare una richiesta aggiuntiva per ogni progetto e le migliori pratiche per CSOM è di effettuare il minor numero di chiamate possibili.
Se io includono FieldValues nei campi include
, come questo:
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));
che sto ricevendo seguente errore:
The query expression 'f.FieldValues' is not supported.
I'm fac lo stesso problema qui. Qualche aggiornamento sul problema? –
@HellKeeper Non ci sono aggiornamenti su questo. Non ho trovato la soluzione. –