Adición de un método Finder

Para habilitar el servicio Conectividad a datos profesionales (BDC) para mostrar una lista de entidades en un elemento web o lista, debe crear un método Finder. Un método Finder es un método especial que devuelve una colección de instancias de entidad. Para más información, consulte Diseñar un modelo de conectividad a datos profesionales.

Para crear un método Finder

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

    Para más información, consulte Cómo: Adición de una entidad a un modelo.

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

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

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

    Visual Studio agrega un método, un parámetro return y un descriptor de tipo.

  4. Configure el descriptor de tipo como descriptor de tipo de colección de entidades. Para más información sobre cómo crear un descriptor de tipo de colección de entidades, consulte Procedimiento: Definición del descriptor de tipo de un parámetro.

    Nota

    No tiene que realizar este paso si ha agregado un método Finder específico a la entidad. Visual Studio usa el descriptor de tipo que definió en el método Finder específico.

  5. 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. Para más información sobre el archivo de código de servicio, consulte Creación de un modelo de conectividad a datos empresariales.

  6. Agregue código al método Finder. Este código realiza las tareas siguientes:

    • Recupera los datos de un origen de datos.

    • Devuelve una lista de entidades al servicio BDC.

      En el ejemplo siguiente se devuelve una colección de entidades Contact mediante el uso de datos 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 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;
    
    }