2016-12-29 2 views
0

が含まれています:

/entity1('key')/entity2('key')/entity3('key')/entity4('key') 

私は/entity1('key')/entity2('key')/entity3?$expand=entity4を実行すると、私は正しい"@odata.context"でJSONレスポンスを受け取ります:

"@odata.context": "https://host:port/$metadata#entity1('key')/entity2('ket')/entity3", 
"value": [ 
{ 
    ..., 
    "[email protected]": "https://host:port/$metadata#entity1('key')/entity2('key')/entity3('key')/entity4", 
    "entity4": [ 
    { 
     ... 
    } 
    ] 
}, 
... 

私はしかし/entity1('key')/entity2('key')/entity3('key')?$expand=entity4を実行すると、私はトンで間違った"@odata.context"を受け取りますキーヲ:

"The context URL 'https://host:port/$metadata#entity1('key')/entity2('key')/entity3('key')('key')/entity4' is invalid."

まあ冗談:

"@odata.context": "https://host:port/$metadata#entity1('key')/entity2('ket')/entity3", 
"value": [ 
{ 
    ..., 
    "[email protected]": "https://host:port/$metadata#entity1('key')/entity2('key')/entity3('key')('key')/entity4", 
    "entity4": [ 
    { 
     ... 
    } 
    ] 
} 

これは、MicrosoftのODataのクライアントで実行する例外が発生します。これを引き起こす原因は何ですか?

更新

私は問題hereを記録しました。私たちは何が起こるか見るでしょう。

答えて

0

私は回避策を見つけた:

ではなく、キーの$filterを使用する:/entity1('key')/entity2('key')/entity3?$filter=Key eq 'key'&$expand=entity4は正しい応答を提供します:

"@odata.context": "https://host:port/$metadata#entity1('key')/entity2('ket')/entity3", 
"value": [ 
{ 
    ..., 
    "[email protected]": "https://host:port/$metadata#entity1('key')/entity2('key')/entity3('key')/entity4" , 
    "entity4": [ 
    { 
     ... 
    } 
    ] 
} 
関連する問題