自动查询找不到字段
我有以下课程:
[Route("/query/domains")]
public class QueryDomains : QueryDb<Domain, DomainList>
{
public int MajesticApiDataTF { get; set; }
}
public class DomainList
{
public string DomainName { get; set; }
public int MajesticApiDataTF { get; set; }
}
[Route("/domain/{Id}")]
public class Domain : IReturn<DomainResponse>
{
[AutoIncrement]
public int Id { get; set; }
[Index(Unique = true)]
[StringLength(70)]
public string DomainName { get; set; }
[Reference]
public MajesticApiData MajesticApiData { get; set; }
}
public class MajesticApiData
{
[AutoIncrement]
public int Id { get; set; }
public int TF { get; set; }
[ForeignKey(typeof(Domain), OnDelete = "CASCADE")]
public int DomainId { get; set; }
}
当我尝试通过 TF 在 AutoQuery 查看器中查询时,如下所示:
http://localhost:5000/query/domains?MajesticApiDataTF%3E=1&MajesticApiDataTF%3E=1
所有域结果都未经过滤返回,并且每个 TF 值都显示为 0。
我尝试添加 IJoin:
public class QueryDomains : QueryDb<Domain, DomainList>, IJoin<Domain, MajesticApiData>
但随后查询不返回任何结果。
我已经签入了数据库,并且 TF 确实有一个值。我正在使用 PostgreSql 提供程序。
我希望它显示 TF 值并且可过滤。我做错了什么?
编辑:
好的,所以问题似乎是不支持大于运算符。
如果我做:
query/domains?MajesticApiDataTF>5&include=Total
然后调试输出显示
2018-07-07 01:54:00.1555||DEBUG|OrmLiteReadCommandExtensions|SQL: SELECT COUNT(*) "COUNT(*)"
FROM "domain" INNER JOIN "majestic_api_data" ON
("domain"."id" = "majestic_api_data"."domain_id")
WHERE "majestic_api_data"."tf" = :0
PARAMS: :0=0
但如果我这样做:
query/domains?MajesticApiDataTF=5&include=Total
然后有一个参数值传递。
2018-07-07 01:57:08.7809||DEBUG|OrmLiteReadCommandExtensions|SQL: SELECT COUNT(*) "COUNT(*)"
FROM "domain" INNER JOIN "majestic_api_data" ON
("domain"."id" = "majestic_api_data"."domain_id")
WHERE "majestic_api_data"."tf" = :0
PARAMS: :0=5
是否可以在联合属性上使用大于/小于?如果不是,我该如何添加自己?
:使固定
我将它设置为可为空的 intint? MajesticApiDataTF
然后它工作