我有一种情况,我在一个SaveChanges中保存多种类型的实体。在某些情况下,此保存将包括我的“目标实体”,在某些情况下不包括。在保存包含“目标实体”的情况下,我需要能够使用saveChanges()saveResult捕获从服务器返回的实体的id。
我一直在试图弄清楚如何使用Breeze EntityType来查看我的“目标实体”是否在saveResult中,但我继续在下面的方法中未定义。显然我不明白如何使用这个功能?
function trapTargetEntityId(saveResult) {
saveResult.entities.forEach(function(entity) {
if (entity.EntityType === 'targetEntity') {
targetEntitId = entity.id;
}
return;
});
}
答案 0 :(得分:0)
不确定我理解。但是,如果您在保存后按键查找特定实体
// make sure that targetType is NOT null
var targetType = myEntityManager.metadataStore.getEntityType("Customer");
var targetId = 23452; // arbitrary id
function trapTargetEntityId(saveResult) {
saveResult.entities.forEach(function(entity) {
// assumes that you have a data property called 'id' on the 'Customer' entityType
if (entity.entityType === targetType && entity.id === targetId) {
targetEntity = entity;
// do something with 'targetEntity'
}
});
}
...小心你的外壳 - 在你的例子中它应该是'entity.entityType'而不是'entity.EntityType'