SharePoint 2010 bietet mit der Assembly Microsoft.SharePoint.Linq.dll (zu finden im Ordner 14\ISAPI) die Möglichkeit, recht einfach Listeninhalte abzufragen. Wenn man sich etwas näher damit beschäftigt, kann man sehr viele Parallelelen zu LINQ to Objects und Linq to SQL entdecken.
Erster Schritt ist, eine Referenz auf die genannte Assembly hinzuzufügen. Ab diesem Zeitpunkt steht der Namespace Microsoft.SharePoint.Linq zur Verfügung. Dieser beinhaltet die Klasse DataContext, über die ähnlich wie bei LINQ to SQL auf die Inhalte zugegriffen werden kann. Die Initialisierung des Kontexts ist recht einfach - hierzu wird einfach im Konstruktor des Objekts die Url der zu verwendenden Site übergeben.
Vor dem Erfolg steht aber ein wenig Arbeit, denn der Zugriff ist typsicher und so müssen für die verwendeten Inhaltstypen Klassen angelegt werden. Auch hier zeigen sich wieder Parallelen zu bereits Bekanntem: Mit Hilfe des Tools SPMetal (zu finden im Ordner 14\BIN) können die Klassen auf Basis einer bestehenden Site automatisch erstellt werden.
Ab diesem Zeitpunkt ist es recht einfach, wie das folgende Beispiel zeigt:
DataContext data = new DataContext("http://mysite/"); EntityList<Page> wikiPages = data.GetList<Page>("Pages"); var filteredPages = from wikiPage in wikiPages where wikiPage.Name == "Inline-Process-Editor.aspx" select wikiPage; foreach (var filteredPage in filteredPages) { Console.WriteLine(filteredPage.Path); }
neuer Blogpost: Zugriff auf Listeninhalte mit LINQ to SharePoint http://bit.ly/byOTuV
This comment was originally posted on Twitter
neuer Blogpost: Zugriff auf Listeninhalte mit LINQ to SharePoint http://bit.ly/byOTuV
This comment was originally posted on Twitter
RT @SharePoint_Team: neuer Blogpost: Zugriff auf Listeninhalte mit LINQ to SharePoint http://bit.ly/byOTuV
This comment was originally posted on Twitter
RT @martin_hey: neuer Blogpost: Zugriff auf Listeninhalte mit LINQ to SharePoint http://bit.ly/byOTuV
This comment was originally posted on Twitter