Entity1有一个Entity2集合作为导航属性。我可以通过扩展的Entity2集合从ODataController成功获取Entity1。但是当我尝试使用ODataController PUT或PATCH方法更新Entity1时,我只能在Entity2的集合为空时才能这样做。否则Delta为空。
public IHttpActionResult Put([FromODataUri] int key, Delta<ClienteleExportTemplate> delta)
有趣的是:当我使用相同ODataController的POST方法时,实体2的嵌套集合中填充了值,我可以成功保存Entity1。 所以问题只出在PUT和PATCH方法中。
这是我对此实体的modelBuilder配置:
modelBuilder.EntitySet<Entity1>("Entity1OData");
modelBuilder.EntitySet<Entity2>("Entity2OData");
我使用$ odataresourse模块为angularJs将值和POST方法作为JSON数组发送给POST和PUT方法。
如何配置Web api 2 ODatav4以支持导航属性更新?
答案 0 :(得分:1)
目前不支持更新实体关系,作为解决方法,您可以使用$ ref更新实体关系。请参考这里举例: