目前我在查询oData服务时遇到了一些问题。我是oData查询语法的新手。
我正在尝试使用以下网址查询oData服务
https://mysite/DataQueryGroups?$ select = Id,Name& $ filter = IsHidden eq false& IsShared ne false& $ expand = DataQueries($ select = Id,Name,IsPinned;)
将结果返回给我。上面的查询基本上返回所有DataQueryGroups,其中IsHidden = false和IsShared<> false,包括其子实体DataQueries。 现在我想将过滤器添加到DataQueries enity,以仅显示IsPinned = true的那些结果。所以我尝试了以下查询
https://mysite/DataQueryGroups?$ select = Id,Name&amp; $ filter = IsHidden eq false&amp; IsShared ne false&amp; $ expand = DataQueries($ select = Id,Name,IsPinned; $ filter = IsPinned eq true;)< / p>
但这会返回相同的结果,看起来它没有考虑我在DataQueries实体上指定的内部过滤器/最后一个过滤器。
我想知道如何过滤父实体和子实体,并从两者中返回字段。
我在这种语法下遇到了困难。如果有人可以帮我解决这个问题,请告诉我。
我正在使用oData版本4.0
提前感谢你 迪帕克
答案 0 :(得分:0)
@Deepak
似乎最新的Web API OData(v5.7)支持展开中的嵌套过滤器。请参阅此问题:https://github.com/OData/WebApi/issues/127
我还根据你的模型写了sample project。它适用于我。
请你在你身边跑,让我知道任何结果。感谢。