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 向 OData 服务发送了一个包含 2 个 post 请求的批处理请求:一个用于子请求,另一个用于父请求,其中子节点的 Content-ID = 1,父实体被序列化为 JSON,如下所示:

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

在服务器端,Parent 和 Child EntitySetControllers 的 CreateEntity 方法都被执行,但是 Parent 参数有一个空的 Children 集合,即它忽略了请求中对新 Child 实体的 Content-ID 引用。

有没有一种方便的方法让它在 ASP.NET OData 中工作,还是我必须从请求中解析父级的 JSON 并手动检查这些引用是否存在?

4

0 回答 0