odata - объединение любого с оператором IN приводит к ошибке - PullRequest
0 голосов
/ 25 января 2020

Учитывая следующий сценарий

public class Student {
    public long Id { get; set; }
    public Guid Uid { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public IEnumerable<Subject> Subjects { get; set; }
}

public class Subject {
    public long Id { get; set; }
    public Guid Uid { get; set; }
    public string Name { get; set; }
}

Теперь, используя odata, я делаю следующий запрос

~/api/students?$filter=Subjects/any(subject: subject/Uid eq (guid'some-guid'))

Запрос выше работает отлично. Но если я использую оператор IN вместо eq, я получаю сообщение об ошибке. Это запрос к примеру.

~/api/students?$filter=Subjects/any(subject: subject/Uid in ((guid'some-guid'), (guid'some-other-guid')))

Я получаю ошибку

')' or ',' expected at position 34 in 'Subjects/any(subject: subject/Uid in ((guid'some-guid'), (guid'some-other-guid'))'.
...