Freigeben über


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:

Ein Projekt erstellen, das ein BDC-Modell enthält

So erstellen Sie ein Projekt, das ein BDC-Modell enthält

  1. Klicken Sie auf der Menüleiste in Visual Studio, wählen Sie Datei, Neu, Projekt aus.

    Das Dialogfeld Neues Projekt wird angezeigt.

  2. Entweder unter Visual C# oder Visual BasicSharePoint erweitern Sie den Knoten, und wählen Sie dann das 2010-Element aus.

  3. Im Bereich Vorlagen wählen Sie SharePoint 2010-Projekt aus, nennen Sie das Projekt "AdventureWorksTest", und wählen Sie dann die Schaltfläche OK aus.

    Der Assistent zum Anpassen von SharePoint wird angezeigt.In diesem Assistenten können Sie die Site angeben, die Sie verwenden, um das Projekt zu debuggen und die Vertrauensebene der Projektmappe festzulegen.

  4. Wählen Sie das Optionsfeld Als Farmlösung bereitstellen, um die Vertrauensebene festzulegen.

  5. Wählen Sie die Schaltfläche Fertig stellen, um die standardmäßige lokale SharePoint-Website zu akzeptieren.

  6. In Projektmappen-Explorer wählen Sie den SharePoint-Projektknoten aus.

  7. Klicken Sie auf der Menüleiste wählen Sie Projekt, Neues Element hinzufügen aus.

    Das Dialogfeld Neues Element hinzufügen wird angezeigt.

  8. Im Bereich Vorlagen wählen Sie Business Data Connectivity-Modell (nur Farmlösung) aus, nennen Sie das Projekt AdventureWorksContacts, und wählen Sie dann die Schaltfläche Hinzufügen aus.

Hinzufügen von Datenzugriffsklassen zum Projekt

So fügen Sie dem Projekt Datenzugriffsklassen hinzu

  1. Klicken Sie auf der Menüleiste wählen Sie Tools, Mit Datenbank verbinden aus.

    Das Dialogfeld Verbindung hinzufügen wird geöffnet.

  2. Fügen Sie der SQL Server-Beispieldatenbank AdventureWorks eine Verbindung hinzu.

    Weitere Informationen finden Sie unter Verbindung hinzufügen/ändern (Microsoft SQL Server).

  3. In Projektmappen-Explorer wählen Sie den Projektknoten aus.

  4. Klicken Sie auf der Menüleiste wählen Sie Projekt, Neues Element hinzufügen aus.

  5. Im Bereich Installierte Vorlagen wählen Sie den Knoten Daten aus.

  6. Im Bereich Vorlagen wählen Sie LINQ to SQL-Klassen aus.

  7. Im Feld geben Sie Name AdventureWorks an und wählen Sie dann die Schaltfläche Hinzufügen aus.

    Dem Projekt wird eine DBML-Datei hinzugefügt, und der Designer (O/R-Designer) wird geöffnet.

  8. Klicken Sie auf der Menüleiste wählen Sie Ansicht, Server-Explorer aus.

  9. Erweitern Sie in Server-Explorer den Knoten, der die AdventureWorks-Beispieldatenbank darstellt, und erweitern Sie dann den Knoten Tabellen.

  10. Fügen Sie die Tabelle Kontakt (Person) auf den O/R-Designer hinzu.

    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

  1. In Projektmappen-ExplorerBdcModel1 erweitern Sie den Knoten, und öffnen Sie dann die BdcModel1.bdcm-Datei.

  2. Die Business Data Connectivity-Modelldatei wird im BDC-Designer geöffnet.

  3. im Designer öffnen Sie das Kontextmenü für Entity1, und wählen Sie dann Löschen aus.

  4. In Projektmappen-Explorer öffnen Sie das Kontextmenü für Entity1.vb (in Visual Basic) oder Entity1.cs (in C#), und wählen Sie dann Löschen aus.

  5. Öffnen Sie das Kontextmenü für Entity1Service.vb (in Visual Basic) oder Entity1Service.cs (in C#), und wählen Sie dann Löschen aus.

Hinzufügen einer Entität zum Modell

Fügen Sie dem Modell eine Entität hinzu.Sie können Entitäten von Visual Studio Werkzeugkasten auf den BDC-Designer hinzufügen.

So fügen Sie dem Modell eine Entität hinzu

  1. Klicken Sie auf der Menüleiste wählen Sie Ansicht, Werkzeugkasten aus.

  2. Klicken Sie auf der Registerkarte BusinessDataConnectivityWerkzeugkasten, fügen Sie Entität auf den BDC-Designer hinzu.

    Die neue Entität wird im Designer angezeigt.Visual Studio fügt eine Datei hinzu, die EntityService.vb (in Visual Basic) bzw. EntityService.cs (in C#) dem Projekt mit dem Namen.

  3. Klicken Sie auf der Menüleiste wählen Sie Ansicht, Eigenschaften, Fenster aus.

  4. Im Fenster Eigenschaften legen Sie den Name-Eigenschaftswert fest, um zu wenden.

  5. Klicken Sie im Designer öffnen Sie das Kontextmenü für die Entität, wählen Sie Hinzufügen aus und wählen dann Bezeichner aus.

    Ein neuer Bezeichner wird für die Entität angezeigt.

  6. Ändern Sie im Fenster Eigenschaften den Namen des Bezeichners in ContactID.

  7. In der Liste wählen Sie TypnameSystem.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 ein Element in einer Liste auswählt und dann die Schaltfläche Element anzeigen auf dem Menüband auswählt.

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

  1. Wählen Sie im BDC-Designer die Entität aus. Kontakt

  2. Klicken Sie auf der Menüleiste wählen Sie Ansicht, Weitere Fenster, BDC-Methodendetails aus.

    Das Fenster BDC-Methodendetails wird geöffnet.

  3. In der Liste wählen Sie Methode hinzufügenSpezifische 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.

  4. Im Fenster BDC-Methodendetails öffnen Sie die Liste, die für den Typdeskriptor angezeigt wird Kontakt, und wählen Sie dann Bearbeiten aus.

    BDC-Explorer öffnet und stellt eine hierarchische Ansicht des Modells.

  5. Im Fenster Eigenschaften öffnen Sie die Liste neben der Eigenschaft TypeName, wählen Sie die Registerkarte Aktuelles Projekt aus, und wählen Sie dann die Eigenschaft Kontakt aus.

  6. In BDC-Explorer öffnen Sie das Kontextmenü Kontakt, und wählen Sie dann Typdeskriptor hinzufügen aus.

    Ein neuer Typdeskriptor, der TypeDescriptor1 genannt wird, wird in BDC-Explorer.

  7. Im Fenster Eigenschaften legen Sie den Name-Eigenschaftswert zu ContactID fest.

  8. Öffnen Sie die Liste TypeName neben der Eigenschaft, und wählen Sie Int32 aus.

  9. Öffnen Sie die Liste Bezeichner neben der Eigenschaft, und wählen Sie ContactID aus.

  10. 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

  11. im BDC-Designer unter der Entität Kontakt, öffnen Sie die ReadItem-Methode.

    Die Codedatei für den Contact-Dienst wird im Code-Editor geöffnet.

  12. 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.

    HinweisHinweis

    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

  1. Wählen Sie im BDC-Designer die Entität aus. Kontakt

  2. Im Fenster BDC-Methodendetails reduzieren Sie den Knoten ReadItem.

  3. In der Liste Methode hinzufügen unter der ReadList-Methode, wählen Sie Finder-Methode erstellen aus.

    Visual Studio fügt eine Methode, einen Rückgabeparameter und einen Typdeskriptor hinzu.

  4. im BDC-Designer unter der Entität Kontakt, öffnen Sie die ReadList-Methode.

    Die Codedatei für den Kontaktdienst wird im Code-Editor geöffnet.

  5. 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.

    HinweisHinweis

    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.

HinweisHinweis

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

  1. Wählen Sie die F5 Schlüssel aus.

    Die SharePoint-Website wird geöffnet.

  2. Klicken Sie im Menü WebsiteaktionenWeitere Optionen wählen Sie den Befehl aus.

  3. Erstellen auf der Seite die Externe Liste Vorlage aus, und wählen Sie dann die Schaltfläche Erstellen aus.

  4. Weisen Sie der benutzerdefinierten Liste den Namen Contacts zu.

  5. Wählen Sie die Schaltfläche zum Durchsuchen neben dem Feld Externer Inhaltstyp aus.

  6. Im Dialogfeld Auswahl für externen InhaltstypAdventureWorksContacts.BdcModel1.Contact wählen Sie das Element aus, und wählen Sie dann die Schaltfläche Erstellen aus.

    SharePoint erstellt eine externe Liste, die Kontakte aus der AdventureWorks-Beispieldatenbank enthält.

  7. Um die spezifische Finder-Methode zu testen, wählen Sie einen Kontakt in der Liste.

  8. Klicken Sie im Menüband Elemente wählen Sie die Registerkarte aus, und wählen Sie dann den Befehl Element anzeigen aus.

    Die Details des Kontakts, den Sie ausgewählt haben, 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

Erstellen eines Business Data Connectivity-Modells

Integrieren von Geschäftsdaten in SharePoint