Baustein: Abfragen und Ansichten

Letzte Änderung: Montag, 5. April 2010

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Objektmodell für Abfragen und Ansichten
Verwenden von XML für Abfragen und Ansichten
Objektmodell für den LINQ to SharePoint-Anbieter
Für "SPMetal" verwendete XML
Bereiche im Zusammenhang mit der Entwicklung von Abfragen und Ansichten
Weitere Informationen zu Abfragen und Ansichten

In Microsoft SharePoint Foundation 2010 wird über eine Abfrage bestimmt, welche Websitedaten oder Listendaten zurückgegeben werden, während über eine Ansicht bestimmt wird, wie diese Daten auf der Seite angezeigt werden. Eine Ansicht enthält zwar immer eine Abfrage, doch ist eine Abfrage nicht immer einer Ansicht zugeordnet, da eine Abfrage unabhängig von einer Ansicht im Zusammenhang mit verwaltetem Code verwendet werden kann. Ansichten können als Ansichtsformatvorlagen in einer Website freigegeben werden.

Collaborative Application Markup Language (CAML) diente bisher weitgehend als vorrangiges Mittel zur Definition von Abfragen und Ansichten in SharePoint Foundation. Mithilfe einer CAML-Zeichenfolge können Sie eine Abfrage im Zusammenhang mit dem Serverobjektmodell oder dem neuen Clientobjektmodell definieren. In SharePoint Foundation 2010 wird jedoch eine alternative Methode zur Definition von Abfragen eingeführt, bei der CAML nicht verwendet wird. Sie können nun SharePoint-Daten direkt mithilfe des neuen LINQ to SharePoint-Anbieters abfragen. Dieser ermöglicht die Abfrage von Listen mittels Servercode, der auf LINQ-Syntax (Language Integrated Query) basiert. SPMetal ist ein Befehlszeilentool zum Generieren von Entitätsklassen, die wiederum den SharePoint Foundation-Inhaltsdatenbanken eine objektorientierte Schnittstelle bereitstellen.

Objektmodell für Abfragen und Ansichten

Beim Arbeiten mit Servercode, in dem der Microsoft.SharePoint-Namespace verwendet wird, definieren Sie eine Abfrage durch Instanziieren eines SPQuery-Objekts und durch Zuweisen einer Zeichenfolge mit CAML, die die Abfrage für die Query-Eigenschaft definiert. Übergeben Sie dann das SPQuery-Objekt als Parameter in der GetItems()-Methode des SPList-Objekts, um angegebene Listenelemente zurückzugeben.

Clientcode, in dem der neue Microsoft.SharePoint.Client-Namespace (JavaScript: SP-Namespace) verwendet wird, funktioniert ähnlich. Sie können in Clientcode eine Abfrage durch Instanziieren eines CamlQuery-Objekts (JavaScript: CamlQuery) und Zuweisen einer CAML-Abfragezeichenfolge an die ViewXml-Eigenschaft (JavaScript: viewXml) definieren. Übergeben Sie dann das CamlQuery-Objekt als Parameter in der GetItems(CamlQuery)-Methode (JavaScript: getItems) von List (JavaScript: List), um angegebene Listenelemente zurückzugeben.

Es folgt eine Auflistung der wichtigsten Klassen beim Arbeiten mit Ansichten und Abfragen in den Server- und Clientobjektmodellen:

Informationen zur Verwendung von Abfragen im Serverobjektmodell finden Sie unter Gewusst wie: Zurückgeben von Elementen aus einer Liste. Informationen zur Verwendung von Abfragen im Clientobjektmodell finden Sie unter Übersicht über den Datenabruf und Gewusst wie: Abrufen von Listenelementen.

Verwenden von XML für Abfragen und Ansichten

Das CAML-Ansichtsschema enthält eine CAML-Abfrage, obwohl das Abfrageschema häufig in einem anderen Kontext als dem Ansichtsschema verwendet wird. Eine Ansicht ist in der Datei Schema.xml für eine Liste enthalten, die sich im Ordner %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURE für eine Listendefinition befindet. In SharePoint Foundation 2010 wird ein Großteil der Ansicht über XSLT in XSL-Dateien in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\XSL definiert. Weitere Informationen zu XSLT-Ansichten finden Sie unter Listenansichten. In SharePoint Foundation 2010 werden die neuen Elemente Joins und ProjectFields eingeführt, die im View-Element enthalten sein können. Dieses Element ermöglicht es einer Listenansicht, Felder aus anderen Listen zu enthalten, die mit der Hauptliste verknüpft wurden.

Informationen zur Struktur der Ansichts- und Abfrageschemen und ihrer Elemente finden Sie unter View-Schema und Abfrageschema.

Objektmodell für den LINQ to SharePoint-Anbieter

Die folgenden wichtigen Klassen werden vom Microsoft.SharePoint.Linq-Namespace zur Implementierung des LINQ to SharePoint-Anbieters bereitgestellt.

  • DataContext – Hauptgatewayklasse, die den Zugriff auf SharePoint Foundation bereitstellt sowie die Funktionen zur LINQ-Abfrage, zum Schreiben in die Inhaltsdatenbanken und zum Verwalten von Objektänderungen. GetList<T>(String) gibt ein EntityList<TEntity>-Objekt zurück, das eine Liste darstellt, die abgefragt werden kann, während SubmitChanges() Änderungen in die Inhaltsdatenbank schreibt.

  • EntityList<TEntity> – Stellt eine SharePoint Foundation-Liste dar, die mithilfe von LINQ abgefragt werden kann. Zusammen mit einer Reihe von anderen "Entitätsklassen" , die Listenelemente und Feldwerte darstellen, stellt diese Liste die objektgestützte Zuordnung und eine Schnittstelle zwischen objektorientiertem .NET-Code und der relationalen Struktur von Inhaltsdatenbanken bereit.

  • EntityRef<TEntity> – Entitätsklasse, die das verzögerte Laden und die Beziehungsverwaltung der Singleton-Seite einer 1:n-Beziehung bereitstellt.

  • EntitySet<TEntity> – Entitätsklasse, die das verzögerte Laden und die Beziehungsverwaltung der "n"-Seite von 1:n- oder n:n-Beziehungen bereitstellt.

  • LookupList<T> – Entitätsklasse, die die Werte eines Nachschlagefeldes (Spalte) darstellt, das mehrere Werte zulässt.

Informationen zu anderen wichtigen Klassen, die mit dem LINQ to SharePoint-Anbieter verwendet werden können, finden Sie unter Microsoft.SharePoint.Linq. Übersichten und Programmieraufgaben, in denen der Anbieter beschrieben wird, finden Sie unter Verwalten von Daten mit LINQ to SharePoint.

Für "SPMetal" verwendete XML

SPMetal Parameters-XML-Schema wird verwendet, um bestimmte Aspekte des Standardverhaltens von SPMetal außer Kraft zu setzen, insbesondere im Hinblick auf die Inhaltsdatenbankentitäten, die in den vom Tool generierten Entitätsklassen enthalten sind. Weitere Informationen zur Verwendung des Tools und seiner Schemen finden Sie unter SPMetal.

Bereiche im Zusammenhang mit der Entwicklung von Abfragen und Ansichten

Baustein: Listen und Dokumentbibliotheken

Weitere Informationen zu Abfragen und Ansichten

Abfragen und Datenabruf

Listenansichten