Servicestack - 用于使用autoquery rdbms API的OR运算符

时间:2016-11-18 20:14:32

标签: c# asp.net-mvc servicestack autoquery-servicestack

是否有办法在查询中使用OR运算符。我知道可以使用修饰符[QueryDbField(Term=QueryTerm.Or)],但这将始终改变属性的行为。也许有些时候我需要用AND查询,有时我需要用OR查询,使用相同的字段。 像

这样的东西

state = la AND amount = 1000 OR totalamount = 1000

成为

{URL}状态= LA&安培;量= 1000&安培; 总金额= 1000

1 个答案:

答案 0 :(得分:2)

您不能像这样在QueryString adhoc上指定OR条件,但您可以使用自定义模板来创建自定义查询,例如:

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