编程语言
首页 > 编程语言> > javascript – breezejs:为经典的ODATA服务调用savecChanges失败

javascript – breezejs:为经典的ODATA服务调用savecChanges失败

作者:互联网

我正在尝试保存使用经典WEBAPI ODATA服务加载的实体.

当在客户端调用saveChanges时,找到修改后的实体,然后代码进入’createChangeRequests’,因为entityState被修改,它进入函数:

 function updateDeleteMergeRequest(request, aspect, prefix) {
    var extraMetadata = aspect.extraMetadata;
    var uri = extraMetadata.uri;
    if (__stringStartsWith(uri, prefix)) {
        uri = uri.substring(prefix.length);
    }
    request.requestUri = uri;
    if (extraMetadata.etag) {
        request.headers["If-Match"] = extraMetadata.etag;
    }
}

但是它在第二行引发了异常,因为extraMetadata为null.这应该来自哪里?属性extraMetadata甚至不存在于’方面’….

breeze确实有我模型的元数据,因为我可以加载实体.只是我无法拯救.

解决方法:

第13318行(breeze.debug.js):

    function mergeEntity(node, mappingContext, meta) {
      node._$meta = meta;
      meta.extra = node.__metadata;//added
      var em = mappingContext.entityManager;

标签:javascript,breeze
来源: https://codeday.me/bug/20191002/1844157.html