自动查询搜索

时间:2015-07-30 00:15:32

标签: servicestack

如何使用"或"进行自动查询?操作如下 - http://localhost/rockstars/first_name=Mike last_name = Smith

1 个答案:

答案 0 :(得分:0)

请参阅changing AutoQuery Behavior上的部分,您可以在其中通过使用[Query(QueryTerm.Or)]注释服务来更改每个字段的行为,例如:

[Query(QueryTerm.Or)]
public class QueryRockstars : QueryBase<Rockstar> {}

否则,如果你只想要某些字段有&#34; OR&#34;您可以使用以下方式单独装饰它们的行为:

public class QueryRockstars : QueryBase<Rockstar>
{
    [QueryField(Term=QueryTerm.Or)]
    public string FirstName { get; set; }

    [QueryField(Term=QueryTerm.Or)]
    public string LastName { get; set; }
}

但是,从服务设计POV开始,不推荐应用不同的行为,因为理想情况下每个fields should have the same semantics

使用上述请求DTO,您现在可以使用以下方式查询:

/rockstars?FirstName=Mike&LastName=Smith