Servicetack - оператор OR для использования API автозапроса rdbms
Есть ли способ использовать оператор OR для условий в запросах. Я знаю что модификатор [QueryDbField(Term=QueryTerm.Or)]
может использоваться, но это всегда изменит поведение свойства. Может быть, иногда мне нужно запросить с помощью AND, а иногда мне нужно запросить с помощью OR, с тем же полем. Что-то вроде
состояние = la И сумма = 1000 ИЛИ общая сумма = 1000
становиться
{url}? state = la & amount = 1000 &OR totalamount = 1000
1 ответ
Решение
Вы не можете указать условие ИЛИ в AdWoc QueryString, как это, но вы можете использовать пользовательский шаблон для создания пользовательского запроса, например:
public class Query : QueryDb<Table>
{
public int Amount { get; set; }
public int TotalAmount { get; set; }
[QueryDbField(Template = "Amount = {Value} OR TotalAmount = {Value}")]
public int AnyAmount { get; set; }
}
Что должно позволить вам затем запросить с помощью:
?anyamount=1000