加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – WebAPI 2.2不支持substringof函数

发布时间:2020-12-16 00:40:36 所属栏目:asp.Net 来源:网络整理
导读:我有一个支持OData的WebAPI 2.2服务。 我的控制器有一个返回IQuerable Entity的操作,但即使我允许所有的功能,我也无法使用$ filter = substringof函数。 [Authorize]public class MyController : ODataController{ [EnableQuery(AllowedFunctions=AllowedF
我有一个支持OData的WebAPI 2.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)时,

我得到一个错误,表示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,"type": "Microsoft.OData.Core.ODataException",

任何想法为什么我可能会看到这个错误?

解决方法

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

尝试包含:

$filter=contains(Name,'Queen')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读