Expression.Lambda et génération de requête au moment de l'exécution, le plus simple exemple "Where"

.net c# dynamic-language-runtime expression-trees lambda

Question

J'essayais de générer une expression Lambda simple au moment de l'exécution sans succès

var result = queryableData.Where(item => item.Name == "Soap")

Voici mon exemple de classe et un résultat interrogeable:

var result = queryableData.Where(item => item.Name == "Soap")

Ensuite, je génère une expression lambda à l'exécution. Le code correct est le suivant :

var result = queryableData.Where(item => item.Name == "Soap")

Merci à dtb pour ses conseils!

Réponse acceptée

Dans la requête suivante

var result = query.Where(item => item.Name == "Soap")

l'expression lambda est

var result = query.Where(item => item.Name == "Soap")

Vous devez uniquement construire cette partie, pas l'appel Where qui accepte un arbre d'expression.

L'arbre d'expression de l'expression lambda ressemble à ceci:

var result = query.Where(item => item.Name == "Soap")

Dans du code:

var result = query.Where(item => item.Name == "Soap")



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi