ODataをサポートするWebAPI2.2サービスがあります。
私のコントローラーには_IQuerable<Entity>
_を返すアクションがありますが、すべての関数を許可しても_$filter=substringof
_関数を使用できません。
_[Authorize]
public class MyController : ODataController
{
[EnableQuery(AllowedFunctions=AllowedFunctions.All)]
public IQueryable<Entity> GetEntities()
{
return GetMyQueryable();
}
}
_
http://localhost:49844/Entities/?$filter=substringof('Queen',Name)
のようなURLにアクセスしたとき
Substringofが許可されていないというエラーが表示されます。
_{
"error": {
"code": "",
"message": "The query specified in the URI is not valid. An unknown function with name 'substringof' was found. This may also be a function import or a key lookup on a navigation property, which is not allowed.",
"innererror": {
"message": "An unknown function with name 'substringof' was found. This may also be a function import or a key lookup on a navigation property, which is not allowed.",
"type": "Microsoft.OData.Core.ODataException",
_
このエラーが表示される理由はありますか?
substringof()
はV関数であり、contains()
はV4関数です。
含まれているものを試してください:
$filter=contains(Name,'Queen')