在savechanges之后查找特定实体的id

时间:2014-01-22 08:45:03

标签: breeze hottowel

我有一种情况,我在一个SaveChanges中保存多种类型的实体。在某些情况下,此保存将包括我的“目标实体”,在某些情况下不包括。在保存包含“目标实体”的情况下,我需要能够使用saveChanges()saveResult捕获从服务器返回的实体的id。

我一直在试图弄清楚如何使用Breeze EntityType来查看我的“目标实体”是否在saveResult中,但我继续在下面的方法中未定义。显然我不明白如何使用这个功能?

function trapTargetEntityId(saveResult) {
        saveResult.entities.forEach(function(entity) {
            if (entity.EntityType === 'targetEntity') {
                targetEntitId = entity.id;
            }
            return;
        });
     }

1 个答案:

答案 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'