ich einen Code haben, die Anrufe zu einer Sharepoint-Managed-Metadaten-Service, der wie folgt beginnt macht:Verständnis ClientContext.Load der Parameter
var clientContext = new ClientContext("http://mysharepointsite/")
{ AuthenticationMode = ClientAuthenticationMode.Default};
var taxonomySession = TaxonomySession.GetTaxonomySession(clientContext);
var termStore = taxonomySession.GetDefaultSiteCollectionTermStore();
, die ich mit kein Problem haben. Aber danach haben wir:
clientContext.Load(termStore,
store => store.Name,
store => store.Groups.Include(
group => group.Name,
group => group.TermSets.Include(
termSet => termSet.Name,
termSet => termSet.Terms.Include(
term => term.Name)
)
)
);
Kann mir bitte jemand helfen mir zu verstehen, was hier vor sich geht?
Zuerst dachte ich, das eine Art von LINQ-Abfrage, aber dann würde ich die Klasse erwartet, dass die Linie
using System.Linq;
haben, was es nicht tut.Ich habe gerade bemerkt, dass es in Visual Studio einige IntelliSense, die wird der Anruf wie folgt strukturiert sagt, ist:
void ClientruntimeContext.Load<T>(T clientObject, params System.Linq.Expressions.Expression<Func<T, object>>[] retrievals)
- was sie macht es scheinen, wie LinqIch verstehe, dass der Code in irgendeiner Weise verwendet wird in gewisser Weise "Laden" der Termbankdaten in den verwalteten Metadatendienst von der gegebenen Sharepoint-Site, aber ich verstehe nicht ganz, was genau diese Syntax macht.
Ich habe das Codebeispiel von here, und es tut genau das, was ich will, aber ich würde mich viel wohler fühlen, wenn ich diese Syntax tatsächlich verstanden hätte!
The documentation war auch nicht besonders hilfreich, da es nur
Load()
s Parameter wie<T>
definiert, was alles sein könnte!
Jeder Rat oder empfohlene Lesung wird sehr geschätzt, danke!