AutoQuery添加逻辑以供选择

时间:2016-02-11 06:12:27

标签: servicestack ormlite-servicestack

我使用AutoQuery功能并说我有类似这样的内容:

public class Rockstar
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int? Age { get; set; }
}    

public class QueryCustomRockstars : QueryBase<Rockstar, CustomRockstar> {}

public class CustomRockstar
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int? Age { get; set; }
    public string FullName { 
        get {
            return FirstName + " " + LastName;
        }
    }
}

这一切都很好,直到我尝试对FullName字段进行排序,因为它不是实际SQL查询的一部分。所以我需要的是能够生成查询以执行以下操作:

SELECT CONCAT(FirstName,' ',LastName) As FullName

我查看了文档,但我无法找到与自定义查询的选择部分有关的任何内容。

这可能吗?

1 个答案:

答案 0 :(得分:1)

这只能使用Raw SQL Filters,但是你需要接管整个SELECT表达式。

按多列排序与按姓名排序的行为类似:

?OrderBy=FirstName,LastName

另一个选择是创建一个RDBMS视图并更改AutoQuery来代替查询。