首页 > 解决方案 > substring 被 substringof 改变了?

问题描述

bool substring(string p0, string p1)我在阅读MCSD 认证工具包(考试 70-483)一书时发现了 OData 过滤字符串功能。

尝试在我的应用程序中使用它:

/Categories?$select=CategoryName&$filter=substring(CategoryName,'Seafood')

并得到错误:

No function signature for the function with name 'substring' matches the specified arguments. The function signatures considered are: 

    substring(Edm.String Nullable=true, Edm.Int32); 
    substring(Edm.String Nullable=true, Edm.Int32 Nullable=true);
    substring(Edm.String Nullable=true, Edm.Int32, Edm.Int32); 
    substring(Edm.String Nullable=true, Edm.Int32 Nullable=true, Edm.Int32); 
    substring(Edm.String Nullable=true, Edm.Int32, Edm.Int32 Nullable=true); 
    substring(Edm.String Nullable=true, Edm.Int32 Nullable=true, Edm.Int32 Nullable=true).

看起来所需的子字符串函数不见了?在哪儿?

我发现类似的功能很好用:

/Categories?$select=CategoryName&$filter=substringof(CategoryName,'Seafood')

标签: c#restweb-servicessubstringodata

解决方案


也许是因为这个原因:

substringof()V3函数,而contains()V4函数。

立即尝试包含:

$filter=contains(Name,'King')

参考


推荐阅读