Exemplarische Vorgehensweise: Erstellen einer externen Liste in SharePoint mithilfe von Geschäftsdaten
Der Business Data Connectivity (BDC)-Dienst ermöglicht SharePoint das Anzeigen von Geschäftsdaten von Back-End-Serveranwendungen, Webdiensten und Datenbanken.
In dieser exemplarischen Vorgehensweise wird erläutert, wie ein Modell für den BDC-Dienst erstellt wird, das Informationen zu Kontakten in einer Beispieldatenbank zurückgibt. Dann erstellen Sie unter Verwendung dieses Modells eine externe Liste in SharePoint.
In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:
Erstellen eines Projekts.
Hinzufügen einer Entität zum Modell.
Hinzufügen einer Finder-Methode.
Hinzufügen einer spezifischen Finder-Methode.
Testen des Projekts
Vorbereitungsmaßnahmen
Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:
Unterstützte Editionen von Microsoft Windows und SharePoint. Weitere Informationen finden Sie unter Anforderungen für die Entwicklung von SharePoint-Lösungen.
Visual Studio 2010 Professional oder eine Edition der Anwendungslebenszyklus-Verwaltung (Application Lifecycle Management, ALM) von Visual Studio.
Zugriff auf die AdventureWorks-Beispieldatenbank. Weitere Informationen zur Installation der AdventureWorks-Datenbank finden Sie unter SQL Server Sample Databases.
Erstellen eines Projekts
Erstellen Sie zunächst ein Projekt, das ein BDC-Modell enthält.
So erstellen Sie ein Projekt
Starten Sie Visual Studio 2010.
Öffnen Sie das Dialogfeld Neues Projekt, erweitern Sie den Knoten SharePoint unter der gewünschten Sprache, und klicken Sie anschließend auf 2010.
Wählen Sie im Bereich Vorlagen die Vorlage Business Data Connectivity-Modell aus. Nennen Sie das Projekt AdventureWorksContacts, und klicken Sie auf OK.
Der Assistent zum Anpassen von SharePoint wird angezeigt. Mit diesem Assistenten können Sie die Website, die Sie zum Debuggen des Projekts verwenden, sowie die Vertrauensebene der Projektmappe auswählen.
Klicken Sie auf Fertig stellen, um die lokale SharePoint-Standardwebsite sowie die standardmäßige Vertrauensebene für die Lösung zu akzeptieren.
Hinzufügen von Datenzugriffsklassen zum Projekt
So fügen Sie dem Projekt Datenzugriffsklassen hinzu
Klicken Sie im Menü Extras auf Mit Datenbank verbinden.
Das Dialogfeld Verbindung hinzufügen wird geöffnet.
Fügen Sie der SQL Server-Beispieldatenbank AdventureWorks eine Verbindung hinzu. Weitere Informationen finden Sie unter Verbindung hinzufügen/ändern (Microsoft SQL Server).
Klicken Sie im Projektmappen-Explorer auf den Projektknoten.
Klicken Sie im Menü Projekt auf Neues Element hinzufügen.
Wählen Sie im Bereich Installierte Vorlagen den Knoten Daten aus.
Wählen Sie im Bereich Vorlagen die Vorlage LINQ to SQL-Klassen aus.
Geben Sie im Feld Name den Namen AdventureWorks ein, und klicken Sie dann auf Hinzufügen.
Dem Projekt wird eine DBML-Datei hinzugefügt, und der Object Relational Designer (O/R-Designer) wird geöffnet.
Klicken Sie im Menü Ansicht auf Server-Explorer.
Erweitern Sie in Server-Explorer den Knoten, der die AdventureWorks-Beispieldatenbank darstellt, und erweitern Sie dann den Knoten Tabellen.
Ziehen Sie die Tabelle Contact (Person) auf den O/R-Designer.
Eine Entitätsklasse wird erstellt und auf der Entwurfsoberfläche angezeigt. Die Entitätsklasse verfügt über Eigenschaften, die sich auf die Spalten in der Tabelle Contact (Person) beziehen.
Entfernen der Standardentität aus dem BDC-Modell
Durch das Projekt vom Typ Business Data Connectivity-Modell wird dem Modell eine Standardentität mit dem Namen Entity1 hinzugefügt. Entfernen Sie diese Entität. Später fügen Sie eine neue Entität hinzu. Beginnen Sie mit einem leeren Modell, um die Anzahl der Schritte zu reduzieren, die für die Durchführung der exemplarischen Vorgehensweise erforderlich sind.
So entfernen Sie die Standardentität aus dem Modell
Erweitern Sie im Projektmappen-Explorer den Knoten BdcModel1, und doppelklicken Sie dann auf die Datei BdcModel1.bdcm.
Die Business Data Connectivity-Modelldatei wird im BDC-Designer geöffnet.
Klicken Sie im Designer mit der rechten Maustaste auf Entity1, und klicken Sie dann auf Löschen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Entity1.vb (in Visual Basic) oder Entity1.cs (in C#), und klicken Sie dann auf Löschen.
Klicken Sie mit der rechten Maustaste auf Entity1Service.vb (in Visual Basic) oder Entity1Service.cs (in C#), und klicken Sie dann auf Löschen.
Hinzufügen einer Entität zum Modell
Fügen Sie dem Modell eine Entität hinzu. Sie können Entitäten von der Toolbox von Visual Studio auf den BDC-Designer ziehen.
So fügen Sie dem Modell eine Entität hinzu
Klicken Sie im Menü Ansicht auf Toolbox.
Ziehen Sie in der Toolbox von der Registerkarte BusinessDataConnectivity eine Entität auf den BDC-Designer.
Die neue Entität wird im Designer angezeigt. Visual Studio fügt dem Projekt eine Datei mit dem Namen von EntityService.vb (in Visual Basic) bzw. EntityService.cs (in C#) hinzu.
Klicken Sie im Menü Ansicht auf Eigenschaftenfenster.
Legen Sie im Fenster Eigenschaften die Option Name auf Contact fest.
Klicken Sie im Designer mit der rechten Maustaste auf die Entität, klicken Sie auf Hinzufügen und dann auf Bezeichner.
Ein neuer Bezeichner wird für die Entität angezeigt.
Ändern Sie im Fenster Eigenschaften den Namen des Bezeichners in ContactID.
Wählen Sie in der Dropdownliste Typname den Eintrag System.Int32 aus.
Hinzufügen einer spezifischen Finder-Methode
Damit der BDC-Dienst einen bestimmten Kontakt anzeigen kann, müssen Sie eine spezifische Finder-Methode hinzufügen. Der BDC-Dienst ruft die spezifische Finder-Methode auf, wenn ein Benutzer in einer Liste ein Element auswählt und dann im Menüband auf die Schaltfläche Element anzeigen klickt.
Fügen Sie der Contact-Entität im Fenster BDC-Methodendetails eine spezifische Finder-Methode hinzu. Um eine bestimmte Entität zurückzugeben, fügen Sie der Methode Code hinzu.
So fügen Sie eine spezifische Finder-Methode hinzu
Wählen Sie im BDC-Designer die Entität Contact aus.
Klicken Sie im Menü Ansicht auf Weitere Fenster und dann auf BDC-Methodendetails.
Wählen Sie im Fenster BDC-Methodendetails in der Dropdownliste Methode hinzufügen den Eintrag Spezifische Finder-Methode erstellen aus.
Mit Visual Studio werden dem Modell die folgenden Elemente hinzugefügt. Diese Elemente werden im Fenster BDC-Methodendetails angezeigt.
Eine Methode mit dem Namen ReadItem.
Ein Eingabeparameter für die Methode.
Ein Rückgabeparameter für die Methode.
Ein Typdeskriptor für jeden Parameter.
Eine Methodeninstanz für die Methode.
Klicken Sie im Fenster BDC-Methodendetails auf die Dropdownliste, die für den Typdeskriptor Contact angezeigt wird, und klicken Sie dann auf Bearbeiten.
Der BDC-Explorer wird geöffnet. Der BDC-Explorer stellt eine hierarchische Ansicht des Modells bereit.
Klicken Sie im FensterEigenschaften auf die Dropdownliste neben der TypeName-Eigenschaft, klicken Sie auf die Registerkarte Aktuelles Projekt, und wählen Sie dann Contact aus.
Klicken Sie im BDC-Explorer mit der rechten Maustaste auf Contact, und klicken Sie dann auf Typdeskriptor hinzufügen.
Ein neuer Typdeskriptor mit dem Namen TypeDescriptor1 wird im BDC-Explorer angezeigt.
Legen Sie im Fenster Eigenschaften für die Name-Eigenschaft den Wert ContactID fest.
Klicken Sie auf die Dropdownliste neben der TypeName-Eigenschaft, und wählen Sie dann Int32 aus.
Klicken Sie auf die Dropdownliste neben der Identifier-Eigenschaft, und wählen Sie dann ContactID aus.
Wiederholen Sie Schritt 6, um einen Typdeskriptor für jedes der folgenden Felder zu erstellen.
Name
Typname
FirstName
System.String
LastName
System.String
Phone
System.String
EmailAddress
System.String
EmailPromotion
System.Int32
NameStyle
System.Boolean
PasswordHash
System.String
PasswordSalt
System.String
Doppelklicken Sie im BDC-Designer unter der Entität Contact auf die ReadItem-Methode.
Die Codedatei für den Contact-Dienst wird im Code-Editor geöffnet.
Ersetzen Sie in der ContactService-Klasse die ReadItem-Methode durch folgenden Code. Mit diesem Code werden die folgenden Aufgaben ausgeführt:
Ruft einen Datensatz aus der Tabelle Contact der AdventureWorks-Datenbank ab.
Gibt eine Contact-Entität an den BDC-Dienst zurück.
Tipp
Ersetzen Sie den Wert des Felds ServerName durch den Namen Ihres Servers.
Public Shared Function ReadItem(ByVal contactID As Integer) As Contact Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim Contact As Contact = _ (From TempContacts In dataContext.Contacts.AsEnumerable().Take(20) _ Where TempContacts.ContactID = contactID _ Select TempContacts).[Single]() Return Contact End Function
public static Contact ReadItem(int contactID) { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); Contact Contact = (from contacts in dataContext.Contacts.AsEnumerable().Take(20) where contacts.ContactID == contactID select contacts).Single(); return Contact; }
Hinzufügen einer Finder-Methode
Damit der BDC-Dienst die Kontakte in einer Liste anzeigen kann, müssen Sie eine Finder-Methode hinzufügen. Fügen Sie der Contact-Entität im Fenster BDC-Methodendetails eine Finder-Methode hinzu. Um eine Auflistung von Entitäten an den BDC-Dienst zurückzugeben, fügen Sie der Methode Code hinzu.
So fügen Sie eine Finder-Methode hinzu
Wählen Sie im BDC-Designer die Entität Contact aus.
Reduzieren Sie im Fenster BDC-Methodendetails den Knoten ReadList.
Wählen Sie in der Dropdownliste Methode hinzufügen, die unter der ReadList-Methode angezeigt wird, den Eintrag Finder-Methode erstellen aus.
Visual Studio fügt eine Methode, einen Rückgabeparameter und einen Typdeskriptor hinzu.
Doppelklicken Sie im BDC-Designer unter der Entität Contact auf die ReadList-Methode.
Die Codedatei für den Contact-Dienst wird im Code-Editor geöffnet.
Ersetzen Sie in der ContactService-Klasse die ReadList-Methode durch folgenden Code. Mit diesem Code werden die folgenden Aufgaben ausgeführt:
Ruft Daten aus der Tabelle Contacts der AdventureWorks-Datenbank ab.
Gibt eine Liste von Contact-Entitäten an den BDC-Dienst zurück.
Tipp
Ersetzen Sie den Wert des Felds ServerName durch den Namen Ihres Servers.
Public Shared Function ReadList() As IEnumerable(Of Contact) Const ServerName As String = "MySQLServerName" Dim dataContext As AdventureWorksDataContext = _ New AdventureWorksDataContext("Data Source=" & ServerName & _ ";Initial Catalog=AdventureWorks;Integrated Security=True") Dim Contacts As IEnumerable(Of Contact) = _ From TempContacts In dataContext.Contacts.Take(20) _ Select TempContacts Return Contacts End Function
public static IEnumerable<Contact> ReadList() { const string ServerName = "MySQLServerName"; AdventureWorksDataContext dataContext = new AdventureWorksDataContext ("Data Source=" + ServerName + ";" + "Initial Catalog=AdventureWorks;Integrated Security=True"); IEnumerable<Contact> Contacts = from contacts in dataContext.Contacts.Take(20) select contacts; return Contacts; }
Testen des Projekts
Wenn Sie das Projekt ausführen, wird die SharePoint-Site geöffnet, und Visual Studio fügt dem Business Data Connectivity-Dienst das Modell hinzu. Erstellen Sie eine externe Liste in SharePoint, die auf die Contact-Entität verweist. Die Daten für Kontakte in der AdventureWorks-Datenbank werden in der Liste angezeigt.
Tipp
Möglicherweise müssen zunächst die Sicherheitseinstellungen in SharePoint geändert werden, damit Sie die Lösung debuggen können. Weitere Informationen finden Sie unter Entwerfen eines Business Data Connectivity-Modells.
So testen Sie das Projekt
Drücken Sie F5.
Die SharePoint-Website wird geöffnet.
Klicken Sie im Menü Websiteaktionen auf Weitere Optionen.
Klicken Sie auf der Seite Erstellen auf Externe Liste und dann auf Erstellen.
Weisen Sie der benutzerdefinierten Liste den Namen Contacts zu.
Klicken Sie neben dem Feld Externer Inhaltstyp auf die Schaltfläche zum Durchsuchen.
Wählen Sie im Dialogfeld Auswahltool für externe Inhaltstypen die Option AdventureWorksContacts.BdcModel1.Contact aus, und klicken Sie dann auf Erstellen.
Klicken Sie auf Erstellen, um die Kontaktliste zu erstellen.
SharePoint erstellt eine externe Liste. Kontakte aus der AdventureWorks-Beispieldatenbank werden in dieser Liste angezeigt.
Um die spezifische Finder-Methode zu testen, klicken Sie in der Liste auf einen Kontakt.
Klicken Sie auf dem Menüband auf die Registerkarte Elemente.
Klicken Sie auf der Registerkarte Elemente auf Element anzeigen.
Die Details des ausgewählten Kontakts werden in einem Formular angezeigt.
Nächste Schritte
Weitere Informationen zum Entwerfen von Modellen für den BDC-Dienst in SharePoint finden Sie in folgenden Themen:
Siehe auch
Konzepte
Übersicht über Entwurfstools für BDC-Modelle
Weitere Ressourcen
Entwerfen eines Business Data Connectivity-Modells