AutoQuery не может найти поле
У меня есть следующие предложения:
[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; }
}
Когда я пытаюсь запросить в программе просмотра AutoQuery по TF, как это:
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 и был фильтруемым. Что я не так понял?
Edit:
ОК, поэтому проблема в том, что оператор больше, чем не поддерживается.
Если я это сделаю:
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
Можно ли использовать больше, чем / меньше, чем в объединенном свойстве? Если нет, то как мне добавить это в себя?
: исправить
Я установил его на nullable int int? MajesticApiDataTF
, а затем он заработал