Adición de un método Updater

Puede permitir que los usuarios actualicen los datos empresariales en una lista externa de SharePoint mediante la creación de un método Updater. Para obtener más información, vea Diseño de un modelo de conectividad a datos profesionales.

Creación de un método Updater

  1. En el Diseñador de BDC, elija una entidad.

  2. En la barra de menús, elija Ver>otras ventanas>Detalles del método de BDC.

    Se abre la ventana de detalles del método de BDC. Para más información sobre esa ventana, consulte Introducción a las herramientas de diseño de modelos BDC.

  3. En la lista Agregar un método, elija Crear método Updater.

    Visual Studio agrega los elementos siguientes al modelo. Estos elementos aparecen en la ventana de detalles del método de BDC.

    • Un método llamado Update.

    • Un parámetro de entrada para el método.

    • Un descriptor de tipo para el parámetro. De forma predeterminada, Visual Studio usa el descriptor de tipos de entidad que definió para el método Finder (por ejemplo: Contacto).

    • Una instancia de método para el método.

      Para obtener más información, vea Diseño de un modelo de conectividad a datos profesionales.

    Nota

    Si el identificador del tipo de entidad representa un campo de una tabla de base de datos que no se genera automáticamente, establezca la propiedad Campo Pre-Updater en True.

  4. En el Explorador de soluciones, abra el menú contextual del archivo de código de servicio que se generó para la entidad y, a continuación, elija Ver código.

    El archivo de código del servicio de la entidad se abre en el Editor de código. Para más información, consulte Creación de un modelo de conectividad a datos profesionales.

  5. Agregue código al método Update para actualizar los datos. En el ejemplo siguiente se actualiza la información de un contacto de la base de datos de ejemplo AdventureWorks para SQL Server.

    Nota

    Reemplace el valor del campo ServerName por el nombre del servidor.

    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();
    
    }