Compartir a través de


Cómo: Agregar un método Finder específico

Puede devolver una instancia de entidad única creando un método Finder específico. El servicio Conectividad a datos profesionales (BDC) ejecuta el método Finder específico cuando un usuario selecciona una entidad en una lista externa o en un elemento web de datos profesionales. Para obtener más información, vea Diseñar un modelo de conectividad a datos profesionales.

Para crear un método Finder específico

  1. Seleccione una entidad en el diseñador de BDC. Para obtener más información sobre cómo agregar una entidad al diseñador de BDC en Visual Studio, vea Cómo: Agregar una entidad a un modelo.

  2. En el menú Ver, haga clic en Otras ventanas y, a continuación, en Detalles del método de BDC.

    Se abre la ventana Detalles del método de BDC. Para obtener más información sobre la ventana Detalles del método de BDC, vea Introducción general a las herramientas de diseño del modelo BDC.

  3. En la ventana Detalles del método de BDC, en la lista desplegable Agregar un método, seleccione Crear método Finder específico.

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

    • Un método

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

    • Un parámetro devuelto para el método.

    • Un descriptor de tipo para cada parámetro.

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

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

  4. Abra la ventana Propiedades de Visual Studio.

  5. Configure el descriptor de tipos del parámetro devuelto como un descriptor de tipos de entidades. Para obtener más información sobre cómo crear un descriptor de tipos de entidades, vea Cómo: Definir el descriptor de tipo de un parámetro.

    Nota

    No tiene que seguir este paso si ha agregado un método Finder a la entidad. Visual Studio utiliza el descriptor de tipos que definió en el método Finder.

    Nota

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

  6. En la ventana Detalles de método, seleccione la instancia de método del método.

    De forma predeterminada, Visual Studio denomina este método MethodInstance1.

  7. En la ventana Propiedades, establezca la propiedad Nombre del parámetro de devolución en el nombre del parámetro devuelto del método. Para obtener más información sobre las propiedades de las instancias de método, vea MethodInstance.

  8. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el archivo de código de servicio generado para la entidad y, a continuación, haga clic en Ver código.

    El archivo de código del servicio de entidad se abre en el editor de código. Para obtener más información sobre el archivo de código del servicio de entidad, vea Crea un modelo de conectividad a datos profesionales.

  9. Agregue código al método Finder específico. Este código realiza las tareas siguientes:

    • Recupera un registro de un origen de datos.

    • Devuelve una entidad al servicio BDC.

    En el siguiente ejemplo se devuelve un contacto de la base de datos de ejemplo AdventureWorks para SQL Server.

    Nota

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

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

Vea también

Tareas

Cómo: Agregar un método Finder

Cómo: Agregar un método Creator

Cómo: Agregar un método Deleter

Cómo: Agregar un método Updater

Cómo: Agregar un parámetro a un método

Cómo: Definir la instancia de un método

Conceptos

Introducción general a las herramientas de diseño del modelo BDC

Otros recursos

Diseñar un modelo de conectividad a datos profesionales