2015-08-13 4 views
0

У меня есть Person с именем, разделенным на FirstName и LastName. Мне нужно отфильтровать на FullName, который является первым и последним.Фильтр OData по вычисленному значению

Как я смогу отфильтровать это? ?

~/OData/людей $ фильтр = ...

Имейте в виду, мне нужно, чтобы иметь возможность фильтровать человек по имени FirstName=Foo, LastName=Bar следующим:

  • Foo бар
  • Foo
  • бар
  • оо ба

Если это невозможно непосредственно в запросе. Затем я смотрел на DelegateDecompiler, хотя я еще не смог заставить его работать. Так что ища советы по этому подходу - хороший выбор.

+0

http://docs.oasis-open.org /odata/odata/v4.0/odata-v4.0-part1-protocol.html может помочь в помощи функции? например, содержит (FirstName, 'foo') & cantains (..) –

+0

Использование contains не будет работать, потому что ему нужно проверить одну строку, которая не разбита на имя первого и последнего. Таким образом, он не будет содержать (FirstName, 'foo bar') & contains (LastName, 'foo bar'). –

+1

содержит (concat (имя_команды, ''), LastName), 'foo bar')? –

ответ

1

http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part1-protocol.html проверка сборки функций, содержит (Concat (Concat (ПгвЬЫате,»«), LastName), 'Foo бар')

:)

+0

Не знаю, почему я об этом не думал. Это так прямолинейно :) –

+0

Надеюсь, в следующий раз вы можете помочь нашему сообществу ответить на эти вопросы :) –

Смежные вопросы