Existe-t-il une méthode dans Linq que vous pouvez utiliser pour construire des chaînes SQL comme "...where (a=1) OR (a=2)" ?
Réponses
Trop de publicités?Vous pouvez certainement le faire dans une clause Where (méthode d'extension). Cependant, si vous devez construire une requête complexe de manière dynamique, vous pouvez utiliser une clause Where (méthode d'extension). PredicateBuilder .
var query = collection.Where( c => c.A == 1 || c.B == 2 );
Ou en utilisant un PredicateBuilder
var predicate = PredicateBuilder.False<Foo>();
predicate = predicate.Or( f => f.A == 1 );
if (allowB)
{
predicate = predicate.Or( f => f.B == 1 );
}
var query = collection.Where( predicate );
Simon Steele
Points
8344
Muad'Dib
Points
14260
Randy Minder
Points
19262
Yaakov Ellis
Points
15470