expression de requête dynamique subsonique
-
09-09-2019 - |
Question
J'ai quelques questions à essayer de vivre dans un monde subsonique et d'être une fille subsonique quand il vient à des expressions subsoniques ....
Je cherche à créer une expression dans ma requête basée sur une condition de mise en boucle. ce que je veux atteindre (dans le code pseudo) est quelque chose comme ceci:
objQuery.andexpressionstart();
foreach (condition in conditions){
if (condition){
objQuery.and(conditionColumn).isequalto(X);
}
}
objQuery.expressionstop();
mon principal problème est que chaque condition qui est dans l'expression est une autre colonne - je pourrais simplement utiliser autrement .En (). J'ai également des critères de recherche supplémentaires (lire un peu juste) à l'extérieur ne peut donc pas être en dehors d'une expression.
Je ne veux pas vraiment quitter la coseyness chaude de l'utérus fortement typé-subsonique je pense cependant dans ce cas je pourrais avoir trop ... si je ne dois est-il possible d'ajouter à une requête subsonique avec une main typée état, donc je ne dois pas changer tout autre code dans la requête (beaucoup de vie logique métier dans la terre subsonique en ce moment)
Comme toujours, merci pour toute aide acclamations
La solution
Je n'ai pas le temps de tester ce moment, mais je pense que si vous faites quelque chose comme ce qui suit devrait fonctionner:
bool isFirstCondition = true;
foreach (condition in conditions){
if (condition)
{
if(isFirstCondition)
{
objQuery.AndExpression(conditionColumn).isequalto(X);
isFirstCondition = false;
}
else
{
objQuery.and(conditionColumn).isequalto(X);
}
}
}
Assurez-vous que toutes vos autres conditions ont été ajoutées avant la boucle.