Compartilhar via


Adicionar um método Finder

Para habilitar o serviço BDC (Business Data Connectivity) a exibir uma lista de entidades em uma lista ou em um bloco Web, você precisa criar um método Finder. Um método Finder é um método especial que retorna uma coleção de instâncias de entidade. Para obter mais informações, confira Criando um Modelo de Business Data Connectivity.

Para criar um método Finder

  1. No Designer BDC, escolha uma entidade.

    Para obter mais informações, consulte Como adicionar uma entidade a um modelo.

  2. Na barra de menus, escolha Exibir>Outras Janelas>Detalhes do Método BDC.

    A janela Detalhes do Método BDC é aberta. Para obter mais informações sobre a janela Detalhes do Método BDC, confira Visão geral das ferramentas de design de modelo BDC.

  3. Na lista Adicionar um Método, escolha Criar Método Finder.

    O Visual Studio adiciona um método, um parâmetro de retorno e um descritor de tipo.

  4. Configure o descritor de tipo como um descritor de tipo de coleção de entidades. Para obter mais informações sobre como criar um descritor de tipo de coleção de entidades, consulte Como definir o descritor de tipo de um parâmetro.

    Observação

    Você não precisará executar esta etapa se tiver adicionado um método Specific Finder à entidade. O Visual Studio usa o descritor de tipo que você definiu no método Specific Finder.

  5. No Gerenciador de Soluções, abra o menu de atalho do arquivo de código do serviço que foi gerado para a entidade e escolha Exibir Código. Para obter mais informações sobre o arquivo de código do serviço, confira Criar um modelo de conectividade de dados corporativos.

  6. Adicione código ao método Finder. Esse código executa as seguintes tarefas:

    • Recupera dados de uma fonte de dados.

    • Retorna uma lista de entidades para o serviço BDC.

      O exemplo a seguir retorna uma coleção de entidades Contact usando dados do banco de dados de exemplo AdventureWorks para o SQL Server.

    Observação

    Substitua o valor do campo ServerName pelo nome do 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;
    
    }