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
Другие вопросы по тегам