C# ODataV4(6.1.0)在$expand中嵌套$filter

C# ODataV4(6.1.0)在$expand中嵌套$filter,c#,asp.net,asp.net-web-api,odata,C#,Asp.net,Asp.net Web Api,Odata,我有一个asp.net 4.5 Web Api oData v4服务,它运行得非常好,但是今天我遇到了一个问题,在$expand中嵌套了$filters 上面说 ODataV4支持$expand中的嵌套过滤器。下面的请求 返回名为“Trip in US”的人员及其所有行程 获取serviceRoot/People?$expand=Trips($filter=Name eq‘美国旅行’) 它展示了一个很好的例子,数据就是这样做的 中还有一个编码示例 我有一个HTTP调用,如下所示: service

我有一个asp.net 4.5 Web Api oData v4服务,它运行得非常好,但是今天我遇到了一个问题,在$expand中嵌套了$filters

上面说

ODataV4支持$expand中的嵌套过滤器。下面的请求 返回名为“Trip in US”的人员及其所有行程

获取serviceRoot/People?$expand=Trips($filter=Name eq‘美国旅行’)

它展示了一个很好的例子,数据就是这样做的

中还有一个编码示例

我有一个HTTP调用,如下所示:

serviceRoot/Languages?$expand=translations
它返回一个包含扩展翻译的语言列表,我可以使用以下内容筛选顶级列表:

serviceRoot/Languages?$expand=translations&$filter=isoLanguageShortName eq 'en'
serviceRoot/Languages?$expand=translations($filter=languageName eq 'English')
但是,我无法使用以下内容过滤扩展的翻译:

serviceRoot/Languages?$expand=translations&$filter=isoLanguageShortName eq 'en'
serviceRoot/Languages?$expand=translations($filter=languageName eq 'English')
那个电话似乎和上面引用的电话一样,对我的数据的影响应该和他们的一样


有人知道我哪里出错了吗?我是否需要在我的ASP.NET代码中设置一些东西才能使其工作(比如我们需要将MaxExpansionDepth添加到EnableQueryAttribute以进行两级以上的查询)?

这是一个版本控制问题。版本5.5中添加了对的支持。我测试了它,它实际上是工作

正如@lukkea确认的那样,他使用的是5.4.0


(标题中显示的版本6.1.0对应于odata web api库Microsoft.AspNet.odata的依赖项库)

这难道不是版本问题吗?此支持已随v5.5一起添加。我测试了它,它实际上是工作。您正在使用哪个版本(6.1.0还不存在)?非常感谢@Fabian。我有三个带有oData图标的库,报告版本6.1.0,然后是您链接到的库,我现在可以看到,报告5.4.0,我想这是主库!你的评论刚刚为漫长的一天开了个好头。再次感谢。:-)它起作用了吗?我可以添加一个答案来结束主题吗?请添加,我会将其标记为已回答。