我有一个支持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')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。