В моем графическом приложении HotChocolate на C# (HotChocolate.AspNetCore версии 13.5.1) у меня есть следующий класс, содержащий Enumerable с DateTimes.
public class MyData {
...
public IEnumerable MyDates { get; set; } = new List();
}
Я хочу получить все записи, в которых myDates содержит запись, находящуюся между двумя конкретными датами. Для этого я пытаюсь выполнить следующий запрос на своей игровой площадке.
query {
getMyData
(first: 10,
where: { myDates: { some: {gt: "2016-02-23", lt: "2016-02-25"}}})
{ ... }
}
Примеры:
MyDates: [ "22 февраля 2016 г.", "24 февраля 2016 г.", "26 февраля 2016 г." ] должен быть найден.
MyDates: [ "2016-02-22", "2016-02-26"] не должен быть найден.
Проблема в том, что обе записи найдены, потому что каким-то образом «gt» и «lt» выполняются как OR, а не как AND.
Мой запрос настроен следующим образом:
Мой запрос настроен следующим образом:
Мой запрос р>
[ExtendObjectType("Query")]
public class MyDataQuery
{
[UsePaging(IncludeTotalCount = true)]
[UseFiltering]
[UseSorting]
public IQueryable GetMyData([Service] ISomeService service)
{
if (service == null) throw new ArgumentNullException(nameof(service));
return service.GetMyData());
}
}
В моем Program.cs:
builder.Services.AddGraphQLServer()
.AddQueryType(d => d.Name("Query"))
.AddTypeExtension()
.AddProjections()
.AddFiltering()
.AddSorting()
.ModifyRequestOptions(opt => opt.IncludeExceptionDetails =
true);
Подробнее здесь: https://stackoverflow.com/questions/784 ... enumerable
HotChocolate И фильтрация в DateTime Enumerable ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
C# использует асинхронное лямбда-выражение с return bool в расширении Enumerable.All
Anonymous » » в форуме C# - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Используйте асинхронное лямбда-выражение с return bool в расширении Enumerable.All.
Anonymous » » в форуме C# - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-