我正在尝试使用 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。
有任何想法吗?
非常感谢。