DetachedCriteria с условиями 3 ИЛИ - PullRequest
       0

DetachedCriteria с условиями 3 ИЛИ

1 голос
/ 03 августа 2010

Как мне выполнить этот запрос, используя DetachedCriteria:

Select * from 
    MyTable
Where 
    (conditionA = true) or 
    (conditionB = true) or 
    (conditionC = true) or 
    (conditionD = true)

Ответы [ 2 ]

5 голосов
/ 03 августа 2010

Как это:

DetachedCriteria.For<MyTable>()
        .Add(Restrictions.Eq("conditionA", true) ||
             Restrictions.Eq("conditionB", true) ||
             Restrictions.Eq("conditionC", true) ||
             Restrictions.Eq("conditionD", true));
3 голосов
/ 03 августа 2010

Вы можете использовать класс Disjunction следующим образом:

DetachedCriteria.For<MyTable>()
        .Add(Restrictions.Disjunction()
             .Add(Restrictions.Eq("conditionA", true))
             .Add(Restrictions.Eq("conditionB", true))
             .Add(Restrictions.Eq("conditionC", true))
             .Add(Restrictions.Eq("conditionD", true)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...