1

非常に単純なWebAPIプロジェクトから次の出力があり、Children-propertyがnullに設定されていないすべての「エンティティ」を除外したいと思います。これを行う方法はありますか?..OData-クエリする?

次の質問は..名前がEmmaで始まる子を持つすべての「親」を返すクエリを作成することは可能ですか?

そして最後の質問..「親」内のプロパティにスコープダウンすることは可能ですか..たとえば、「親」の年齢に基づいてクエリを作成したいが、その場合は子のみを表示したいその親..出力が子のみを表示するように「スコープダウン」するのは、非常に優れた機能です。

これが私のURLです:{mydomain} / api / peoples / Children $ filters = Children

これが私のXMLです:

<ArrayOfPerson xmlns:i="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://schemas.datacontract.org/2004/07/MvcApplication5.Models">
<Person>
<Age>12</Age>
<Children i:nil="true"/>
<Name>Ada Svensson</Name>
</Person>
<Person>
<Age>19</Age>
<Children i:nil="true"/>
<Name>Emma Svensson</Name>
</Person>
<Person>
<Age>43</Age>
<Children>
<Person>
<Age>12</Age>
<Children i:nil="true"/>
<Name>Ada Svensson</Name>
</Person>
<Person>
<Age>19</Age>
<Children i:nil="true"/>
<Name>Emma Svensson</Name>
</Person>
</Children>
<Name>Bertil Svensson</Name>
</Person>
<Person>
<Age>34</Age>
<Children i:nil="true"/>
<Name>Kalle Persson</Name>
</Person>
</ArrayOfPerson>

前もって感謝します!

4

1 に答える 1

2

サービスが OData V3 をサポートしている場合は、次のことができます。

/persons?$filter=Children/any()

(Children がコレクションの場合、null になることはありません。OData ルールに従って、空になることしかできないことに注意してください)。

現在、親をフィルター処理して、プレーンな OData を使用して子のみを要求することはできません。親をフィルタリングして、その親と子の両方を取得できます。

/persons?$filter=<my parent condition>&$expand=Children.
于 2012-12-03T16:13:15.740 に答える