Compartilhar via


Adicionar um descritor de filtro a um método Finder

Os descritores de filtro permitem que os consumidores do modelo passem valores para métodos antes de serem executados. Para obter mais informações, confira Criar um modelo de conectividade de dados corporativos.

Um cenário comum é que os usuários do SharePoint desejam recuperar instâncias de um tipo de conteúdo externo que correspondam a alguns critérios. Você pode dar suporte a esse cenário adicionando um descritor de filtro a um método Finder.

Para adicionar um descritor de filtro a um método Finder

  1. Na janela Detalhes do Método BDC, expanda o nó de um método Finder, expanda o nó Parâmetros e adicione um parâmetro de entrada. Para obter mais informações, consulte Como adicionar um parâmetro a um método.

  2. Na janela Detalhes do Método, escolha o descritor de tipo do parâmetro.

  3. Na barra de menus, escolha Exibir>Janela Propriedades.

  4. Na janela Propriedades, defina a propriedade Type Name como um tipo de dados apropriado para o filtro.

    Por exemplo, um filtro pode usar uma data de pedido para limitar o número de pedidos de vendas retornados pelo método . Para dar suporte a esse filtro, a propriedade Type Name do descritor de tipo deve ser definida como System.DateTime.

  5. Na janela Detalhes do Método , expanda o nó Filtrar Descritores.

  6. Em Adicionar uma lista descritor de filtro, escolha Criar Descritor de Filtro.

    Um novo descritor de filtro aparece abaixo do nó Descritores de Filtro.

  7. Na barra de menus, escolha Exibir>Janela Propriedades.

  8. Na janela Propriedades, escolha a propriedade Tipo.

  9. Na lista exibida para a propriedade Type , escolha o padrão de filtragem desejado.

    Por exemplo, para criar um filtro que usa uma data de pedido para limitar o número de pedidos de vendas retornados em um método Finder, escolha Comparação. Um filtro De comparação garante que um método finder retorne apenas instâncias que atendam a uma condição específica. Para obter mais informações sobre cada padrão de filtragem, consulte Tipos de filtros compatíveis com o BDC.

  10. Na janela Propriedades, escolha a propriedade Descritores de Tipo Associado.

  11. Na lista exibida para a propriedade Descritores de Tipo Associado, escolha o descritor de tipo que você criou anteriormente neste procedimento. Isso relaciona o filtro ao parâmetro de entrada do método Finder.

  12. Adicione código ao método Finder que retorna dados. Você pode usar o parâmetro de entrada como uma condição em uma consulta selecionada.

    O exemplo a seguir retorna pedidos de vendas que têm a data do pedido especificada.

    Observação

    Substitua o valor do campo ServerName pelo nome do servidor.

    public static IEnumerable<SalesOrderHeader> ReadList(DateTime OrderDateParam)
    {
        const string ServerName = "MySQLServerName";
        AdventureWorksDataContext dataContext = new AdventureWorksDataContext
              ("Data Source=" + ServerName + ";" +
               "Initial Catalog=AdventureWorks;Integrated Security=True");
    
        DateTime NoValuePassedIn = Convert.ToDateTime("1/1/1900 12:00:00 AM");
        DateTime DefaultDateTime = Convert.ToDateTime("2001-09-01 00:00:00.000");
    
        // If the user does not provide a value for the filter.
        if (OrderDateParam == NoValuePassedIn)
        {
            // Use a default date time value.
            OrderDateParam = DefaultDateTime;
        }
    
        IEnumerable<SalesOrderHeader> SalesOrderHeader =
            from salesOrderHeaders in dataContext.SalesOrderHeaders
            where salesOrderHeaders.OrderDate == OrderDateParam
            select salesOrderHeaders;
        return SalesOrderHeader;
    }