我有一个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个帖子请求的OData服务发送批量请求:一个用于子项,另一个用于父项,其中子项被给予Content-ID = 1, 并且父实体序列化为JSON:
{'Children': [{'__metadata': {'uri': '$1'}}]}
在服务器端,Parent和Child EntitySetControllers的CreateEntity方法被执行,但Parent参数有一个空的Children集合,即它忽略了对请求中新的Child实体的Content-ID引用。
是否有一种方便的方法使它在ASP.NET OData中工作,或者我是否必须从请求中解析Parent的JSON并检查这些引用是否存在?