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 以查询它。
我正在使用 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 以查询它。