Como: adicionar um descritor de filtro a um método localizador
Descritores de filtro permitem que os consumidores do modelo passar valores para métodos antes de serem executados.Para mais informações, consulte Elaborar 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 coincidem com alguns critérios.Você pode oferecer suporte a esse cenário, adicionando um descritor de filtro a um método localizador.
Para adicionar um descritor de filtro a um método localizador
No Detalhes do método BDC janela, expanda o nó de um método localizador, o parâmetros de nó e adicione um parâmetro de entrada.Para mais informações, consulte Como: adicionar um parâmetro para um método..
No Detalhes do método janela, escolha o descritor de tipo do parâmetro.
Na barra de menu, escolha modo, A janela de propriedades.
No Propriedades janela, defina o Nome do tipo propriedade para um tipo de dados apropriado para o filtro.
Por exemplo, um filtro pode usar uma data de pedido para limitar o número de ordens de venda retornado pelo método.Para dar suporte ao filtro, o Nome do tipo propriedade do descritor de tipo deve ser definida DateTime.
No Detalhes do método janela, expanda o Filtro descritores nó.
Em Adicionar um descritor de filtro , escolha Criar descritor de filtro.
Um novo descritor de filtro são exibidas abaixo do Filtro descritores nó.
Na barra de menu, escolha modo, A janela de propriedades.
No Propriedades janela, escolha a tipo propriedade.
Na lista que aparece para o tipo propriedade, escolha o padrão de filtragem desejado.
Por exemplo, para criar um filtro que usa a data do pedido para limitar o número de pedidos de vendas retornados em um método localizador, escolha comparação.Um filtro de comparação garante que um método localizador retorna somente as ocorrências que atendem uma condição específica.Para obter mais informações sobre cada padrão de filtragem, consulte Tipos de filtros suportados pelo BDC.
No Propriedades janela, escolha a Descritores de tipo associado propriedade.
Na lista que aparece para o Descritores de tipo associado propriedade, escolha o descritor de tipo que você criou anteriormente neste procedimento.Isso se relaciona com o filtro para o parâmetro de entrada do método Finder.
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ção Substitua o valor de 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