Freigeben über


Hinzufügen einer Updater-Methode

Sie können Benutzer*innen das Aktualisieren von Geschäftsdaten in einer externen SharePoint-Liste ermöglichen, indem Sie eine Updater-Methode hinzufügen. Weitere Informationen finden Sie unter Entwerfen eines Business Data Connectivity-Modells.

So erstellen Sie eine Updater-Methode

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

  2. Wählen Sie in der MenüleisteAnsicht>Weitere Fenster>BDC-Methodendetails aus.

    Das Fenster „BDC-Methodendetails“ wird geöffnet. Weitere Informationen zu dem Fenster finden Sie unter Übersicht über Entwurfstools für BDC-Modelle.

  3. Wählen Sie in der Liste Methode hinzufügen die Option Finder-Methode erstellen aus.

    Visual Studio fügt dem Modell die folgenden Elemente hinzu. Diese Elemente werden im Fenster „BDC-Methodendetails“ angezeigt.

    • Fügen Sie eine Methode namens Update hinzu.

    • Ein Eingabeparameter für die Methode.

    • Ein Typdeskriptor für den Parameter. Standardmäßig verwendet Visual Studio den Entitätstypdeskriptor, den Sie für die Finder-Methode definiert haben (z. B. Contact).

    • Eine Methodeninstanz für die Methode.

      Weitere Informationen finden Sie unter Entwerfen eines Business Data Connectivity-Modells.

    Hinweis

    Wenn der Bezeichner des Entitätstyps ein Feld in einer Datenbanktabelle darstellt, das nicht automatisch generiert wird, legen Sie die Eigenschaft Pre-Updater Field auf TRUE fest.

  4. Öffnen Sie im Projektmappen-Explorer das Kontextmenü der Dienstcodedatei, die für die Entität generiert wurde, und wählen Sie dann Code anzeigen aus.

    Die Entitätsdienst-Codedatei wird im Code-Editor geöffnet. Weitere Informationen dieser Datei finden Sie unter Erstellen eines Business Data Connectivity-Modells.

  5. Fügen Sie der Update-Methode Code hinzu, um Daten zu aktualisieren. Im folgenden Beispiel werden die Informationen für einen Kontakt in der AdventureWorks-Beispieldatenbank für SQL Server aktualisiert.

    Hinweis

    Ersetzen Sie den Wert des Felds ServerName durch den Namen Ihres Servers.

    public static void Update(Contact contact)
    {
        const string ServerName = "MySQLServerName";
        AdventureWorksDataContext dataContext = new AdventureWorksDataContext
              ("Data Source=" + ServerName + ";" +
               "Initial Catalog=AdventureWorks;Integrated Security=True");
       
        var contactToUpdate = (from contacts in dataContext.Contacts
                                where contacts.ContactID == contact.ContactID
                                select contacts).Single();
    
        contactToUpdate.FirstName = contact.FirstName;
        contactToUpdate.LastName = contact.LastName;
        contactToUpdate.EmailAddress = contact.EmailAddress;
        contactToUpdate.Phone = contact.Phone;
        contactToUpdate.EmailPromotion = contact.EmailPromotion;
        contactToUpdate.NameStyle = contact.NameStyle;
        contactToUpdate.PasswordHash = contact.PasswordHash;
        contactToUpdate.PasswordSalt = contact.PasswordSalt;
        contactToUpdate.ModifiedDate = DateTime.Now;
        contactToUpdate.rowguid = Guid.NewGuid();
        dataContext.SubmitChanges();
    
    }