Как мне сделать или выбрать при использовании дозвуковой? - PullRequest
0 голосов
/ 13 мая 2009

Вот мой код:

TransactionCollection transactions = new TransactionCollection();
transactions.Where("next_action", "RESEND");
transactions.Where("job_id", CurrentJob.Id);
transactions.Load();

Я действительно хочу сказать, что next_action это RESEND или next_action это TARGET. Спасибо.

В основном я хочу выбрать состояние, например:

select * from transactions where job_id = 1 and (next_action = 'RESEND' OR next_action = 'TARGET');

или

select * from transactions where job_id = 1 and next_action IN ('RESEND', 'TARGET');

1 Ответ

2 голосов
/ 13 мая 2009

Если вы используете SubSonic версии 2.1 или выше, вы можете воспользоваться AndExpression и OrExpression. Для вашего первого примера должно работать следующее:

TransactionCollection transactions = DB.Select().From(Transaction.Schema)
  .Where("job_id", CurrentJob.Id);
  .AndExpression("next_action")IsEqualTo("RESEND")
  .Or("next_action")IsEqualTo("TARGET")
  .ExecuteCollection<TransactionCollection>()
...