Angularjs saveChanges BreezeJs后管理器中的更改跟踪
我在客户端使用Breeze和Angular,在服务器上使用NHibernate。出于业务逻辑原因,我需要知道某些对象在保存后是否有更改。出于这个原因,我正在调用Angularjs saveChanges BreezeJs后管理器中的更改跟踪,angularjs,nhibernate,breeze,Angularjs,Nhibernate,Breeze,我在客户端使用Breeze和Angular,在服务器上使用NHibernate。出于业务逻辑原因,我需要知道某些对象在保存后是否有更改。出于这个原因,我正在调用 manager.hasChanges(['ArrayOfTypes']); 当对象从db加载时,它按预期工作(返回true/false), 但在通过 manager.saveChanges(['ArrayOfTypes']); 我得到这个错误: TypeError:无法读取未定义的属性“hasChanges” 在breeze.js文
manager.hasChanges(['ArrayOfTypes']);
当对象从db加载时,它按预期工作(返回true/false),
但在通过
manager.saveChanges(['ArrayOfTypes']);
我得到这个错误:
TypeError:无法读取未定义的属性“hasChanges”
在breeze.js文件中抛出错误:
proto._hasChangesCore = function(entityTypes) {
entityTypes = checkEntityTypes(this, entityTypes);
var entityGroups = getEntityGroups(this, entityTypes);
return entityGroups.some(function (eg) {
return eg.hasChanges();
});
};
我预计将返回32个entityGroups,数组中确实有32个元素,但其中25个元素未定义。目前,我做了一个临时修复,但感觉一点也不对劲:
proto._hasChangesCore = function(entityTypes) {
entityTypes = checkEntityTypes(this, entityTypes);
var entityGroups = getEntityGroups(this, entityTypes);
return entityGroups.some(function (eg) {
if (eg !== undefined) {
return eg.hasChanges();
}
else {
return false;
}
});
};
有没有其他方法来处理这个问题
感谢当一个或多个实体类型未由实体管理器中的
EntityGroup
表示时,会发生这种情况。但是您应该能够传入任何类型名,而不会让它爆炸
这是微风中的一只虫子。该修复程序将在下一版本中发布