当主/外键基于多个列时,breeze客户端在保存后混合数据

时间:2013-12-04 08:51:27

标签: breeze

当主/外键基于表中的多个列时,我遇到了一些问题。 在创建新对象后保存时一切正常,但是当客户端在保存后更新其fk_data时,breeze正在混合关键列。 这导致关键列中的数据错误,而微风认为某些内容会再次被修改。

这一切都发生在这里breeze.debug.js:

 // update fk data property - this can only occur if this navProperty has
        // a corresponding fk on this entity.
        if (property.relatedDataProperties) {
            if (!entityAspect.entityState.isDeleted()) {
                var inverseKeyProps = property.entityType.keyProperties;
                inverseKeyProps.forEach(function(keyProp, i ) {
                    var relatedDataProp = property.relatedDataProperties[i];
                    // Do not trash related property if it is part of that entity's key
                    if (newValue || !relatedDataProp.isPartOfKey) {
                        var relatedValue = newValue ? newValue.getProperty(keyProp.name) : relatedDataProp.defaultValue;
                        that.setProperty(relatedDataProp.name, relatedValue);
                    }
                });
            }
        } 

inverseKeyProps与正确的relatedDataProp不匹配。

这是微风中的错误吗?

1 个答案:

答案 0 :(得分:0)

我认为这与edmx文件中fk_keys的顺序有关。 为什么订单与我现在没有的数据库不同。

TJ