AutoQuery 添加逻辑到 select

AutoQuery add logic to select

我正在使用 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

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

这可能吗?

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

按多列排序与按全名排序具有相似的行为:

?OrderBy=FirstName,LastName

另一种选择是创建一个 RDBMS 视图并更改 AutoQuery 以查询它。