0

私は亜音速の世界に住もうとしていて、亜音速の表現に関しては亜音速の女の子であることにいくつかの問題を抱えています。

Subsonic Query(ConditionA OR ConditionB)およびConditionCを読んだ後、この種の問題を抱えているのは私だけではないようですが、誰か(全能の強盗??)がこれに答えられることを願っています。

ループ条件に基づいてクエリで式を作成しようとしています。私が(擬似コードで)達成したいのは次のようなものです:

objQuery.andexpressionstart();

foreach (condition in conditions){

   if (condition){
      objQuery.and(conditionColumn).isequalto(X);
   }

}
objQuery.expressionstop();

私の主な問題は、式の中にある各条件が異なる列であるということです。それ以外の場合は、.In()を使用できます。また、式の外に出てはいけないように、外に追加の検索条件(かなりの量を読む)があります。

強く型付けされた亜音速子宮の温かみのある心地よさを残したくないのですが、この場合は私もそうかもしれないと思います...もし必要なら、手で亜音速クエリに追加する方法があります条件を入力したので、クエリ内の他のすべてのコードを変更する必要はありません(現在亜音速の土地に住んでいる多くのビジネスロジック)

いつものように、助けてくれてありがとう

4

1 に答える 1

3

今はこれをテストする時間はありませんが、次のようなことをすればうまくいくはずです:

bool isFirstCondition = true;

foreach (condition in conditions){

   if (condition)    
   {
        if(isFirstCondition)
        {
           objQuery.AndExpression(conditionColumn).isequalto(X);
           isFirstCondition = false;
        }
        else
        {  
           objQuery.and(conditionColumn).isequalto(X);

        }
   }

}

ループの前に、他のすべての条件が追加されていることを確認してください。

于 2009-06-04T06:11:29.433 に答える