Olá amigos,
tenho 10 filtros para aplicar em um consulta LINQ / lambda onde o usuário pode escolher os 10 filtros ou nenhum.
na SQL eu ia testando cada um dos filtros e concatenando a clausula e depois eu testava se clausura <> "" eu aplicava na SQL.
agora com o LINQ não estou conseguindo fazer essa concatenação de filtros.
Dim ParamFone As String = "11"
Dim ParamEmail As String = "127"
Dim predicate = PredicateBuilder.[True](Of Pessoa)()
Dim innerPredicate = PredicateBuilder.[True](Of Pessoa)()
innerPredicate = innerPredicate.[And](Function(s) s.Telefone.Contains(ParamFone))
predicate = predicate.[And](innerPredicate)
esse código da erro: Falha na resolução de sobrecarga porque nenhum 'And' acessível aceita este número de argumentos.
Dim predicate As Func(Of Pessoa, Boolean) = Nothing
Dim predicate2 As Func(Of Pessoa, Boolean) = Nothing
If String.IsNullOrEmpty(ParamFone) = False Then
predicate = (Function(s) s.Telefone.Contains(ParamFone))
End If
If String.IsNullOrEmpty(ParamEmail) = False Then
predicate2 = (Function(s) s.Email.Contains(ParamEmail))
End If
result = ListaPessoas.Where(predicate) ' não da para incluir o predicate2
se alguem poder ajudar, desde já agradeço
Kleisson Maximiano de Oliveira Softmax soluçoes em Sistema