Partilhar via


Como: Adicionar um descritor de filtro para um método localizador

Descritores de filtro permitem que os consumidores do modelo passar valores para métodos, antes de serem executados. Para obter mais informações, consulte Criando um modelo de conectividade de dados de negócios.

Um cenário comum é que os usuários do SharePoint recuperar instâncias de um tipo de conteúdo externo que alguns critérios de correspondência. Você pode oferecer suporte a esse cenário, adicionando um descritor de filtro para um método localizador.

Para adicionar um descritor de filtro para um método localizador

  1. No Detalhes do método BDC janela, expanda o nó de um método localizador, o parâmetros nó e em seguida, adicione um parâmetro de entrada. Para obter mais informações, consulte Como: Adicionar um parâmetro para um método..

  2. No Detalhes do método janela, selecione o descritor de tipo do parâmetro.

  3. Sobre o Exibir menu, clique em Janela Propriedades.

  4. No Propriedades janela, defina a Nome do tipo propriedade para um tipo de dados que seja apropriado para o filtro.

    Por exemplo, um filtro pode usar a data do pedido para limitar o número de ordens de venda retornado pelo método. Para oferecer suporte a esse filtro, o Nome do tipo a propriedade do descritor de tipo deve ser definida DateTime.

  5. No Detalhes do método janela, expanda o Descritores de filtro nó.

  6. No Adicionar um descritor de filtro na lista suspensa, clique em Criar o descritor de filtro.

    Um novo descritor de filtro são exibidas abaixo do Descritores de filtro nó.

  7. Sobre o Exibir menu, clique em Janela Propriedades.

  8. No Propriedades janela, selecione o tipo de propriedade.

  9. Na lista suspensa que aparece para o tipo de propriedade, selecione o padrão de filtragem desejado. Para obter mais informações sobre cada padrão de filtragem, consulte Tipos de filtros suportados pelo BDC.

    Por exemplo, para criar um filtro que usa a data do pedido para limitar o número de ordens de venda retornados em um método localizador, selecione comparação. Limites de filtro de comparação instâncias retornadas por um método localizador para aqueles onde uma condição específica seja atendida.

  10. No Propriedades janela, selecione o Descritores de tipo associado propriedade.

  11. Na lista suspensa que aparece para o Descritores de tipo associado propriedade, selecione o descritor de tipo que você criou anteriormente esse procedimento. Isso se relaciona com o filtro para o 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 select.

    O exemplo a seguir retorna as ordens de venda que a data de ordem especificada.

    ObservaçãoObservação

    Substitua o valor da ServerName campo com o nome do servidor.

    Public Shared Function ReadList(ByVal OrderDateParam As DateTime) As IEnumerable(Of SalesOrderHeader)
        Const ServerName As String = "MySQLServerName"
        Dim dataContext As AdventureWorksDataContext = _
            New AdventureWorksDataContext("Data Source=" & ServerName & _
                ";Initial Catalog=AdventureWorks;Integrated Security=True")
    
        Dim NoValuePassedIn As DateTime = Convert.ToDateTime("1/1/1900 12:00:00 AM")
        Dim DefaultDateTime As DateTime = Convert.ToDateTime("2001-09-01 00:00:00.000")
    
        ' If the user does not provide a value for the filter.
        If OrderDateParam = NoValuePassedIn Then
            ' Use a default date time value.
            OrderDateParam = DefaultDateTime
        End If
    
        Dim SalesOrderHeader As IEnumerable(Of SalesOrderHeader) = _
            From SalesOrderHeaders In dataContext.SalesOrderHeaders _
            Where SalesOrderHeaders.OrderDate = OrderDateParam _
            Select SalesOrderHeaders
        Return SalesOrderHeader
    End Function
    
    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;
    }
    

Consulte também

Tarefas

Como: Adicionar um método localizador

Como: Adicionar um método específico de localizador

Como: Adicionar um parâmetro para um método.

Como: Definir o descritor de tipo de um parâmetro

Outros recursos

Criando um modelo de conectividade de dados de negócios

Integração de dados de negócios no SharePoint