有没有办法在查询中使用 OR 运算符。我知道[QueryDbField(Term=QueryTerm.Or)]
可以使用修饰符,但这总是会改变属性的行为。也许有时我需要用 AND 查询,有时我需要用 OR 查询,使用相同的字段。就像是
状态 = la AND 金额 = 1000 或总金额 = 1000
变得
{url}?state=la&amount=1000& OR totalamount=1000
有没有办法在查询中使用 OR 运算符。我知道[QueryDbField(Term=QueryTerm.Or)]
可以使用修饰符,但这总是会改变属性的行为。也许有时我需要用 AND 查询,有时我需要用 OR 查询,使用相同的字段。就像是
状态 = la AND 金额 = 1000 或总金额 = 1000
变得
{url}?state=la&amount=1000& OR totalamount=1000
您不能像这样在 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