2

我正在尝试使用 Breeze 1.4.0 和 OData 来管理针对 MS Dynamics CRM 2011 OData 服务的数据操作。

检索数据工作正常,但尝试推送数据不起作用。我尝试做一个非常简单的更新,但是 Breeze 在到达第二行时失败了:

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;
        }
    }

我已经调试过了,它失败了,因为aspect.extraMetadata是未定义的。aspect是一个 Breeze Entity.EntityAspect 对象,它没有该属性。

我还发现 Breeze 用于 OData 的 DataServiceVersion 是 2.0,而用于 MS Dynamics CRM 2011 的 OData 服务的 DataServiceVersion 是 1.0。我不确定这是否与它有关。我还尝试将 Breeze 的 DataServiceVersion 更改为 1.0。

有任何想法吗?

非常感谢。

4

0 回答 0