2

ASP.NET WebApi OData サービスがあり、JayData を使用して JavaScript から使用しようとしています。私のモデルは次のとおりです。

class Parent {
    ICollection<Child> Children;
}
class Child {
    ICollection<Parent> Parents;
}

次のような JayData コンテキストを使用して、新しい子エンティティを持つ新しい親エンティティを追加しようとしています。

var child = new db.Children.Child({Parents: []});
var parent = new db.Parents.Parent({Children: [child]});
db.Parents.add(parent);
db.saveChanges();

その結果、JayData は 2 つの post 要求を含む OData サービスにバッチ要求を送信します。1 つは子用、もう 1 つは親用です。子には Content-ID = 1 が与えられ、親エンティティは次のように JSON にシリアル化されます。

{'Children': [{'__metadata': {'uri': '$1'}}]}

サーバー側では、親と子の両方の EntitySetController の CreateEntity メソッドが実行されますが、Parent 引数には子の空のコレクションがあります。つまり、リクエストからの新しい子エンティティへの Content-ID 参照は無視されます。

ASP.NET OData で機能させる便利な方法はありますか、それともリクエストから親の JSON を解析し、そのような参照が手動で存在するかどうかを確認する必要がありますか?

4

0 に答える 0