Comment faire pour Ajouter une expression

Basé sur ma question d'hier:

si je devais ajouter à mon 'où' expression, comment pourrais-je ajouter?

Expression<Func<Client, bool>> clientWhere = c => true;

if (filterByClientFName)
{
    clientWhere = c => c.ClientFName == searchForClientFName;
}

 if (filterByClientLName)
    {
        clientWhere = c => c.ClientLName == searchForClientLName;
    }

L'utilisateur peut saisir soit le prénom ou nom de famille, ou les deux. Si ils entrent fois que je veux ajouter à l'expression. En essayant de voir si il y a un équivalent de la concaténation où je pourrait faire

clientWhere.Append or clientWhere += add new expression

ou quelque chose de similaire

  • J'ai essayé de trouver des solution similaire, parce que nous utilisons nos vieux ORML outil développé par notre équipe, qui prend en charge ajoutant des opérations par "ET" ou "OU" et notre code dépend fortement de ces où la vulgarisation. Jusqu'à présent, nous ne pouvions pas passer à linq, mais, fondamentalement, linq crée IExpression<T> , et si vous trouvez un moyen de contourner la création de IExpression<T> arbre par vous-même, ça peut aider.
InformationsquelleAutor | 2009-08-12