我正在尝试保存使用经典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;