1

在进一步调查后,这个问题已被完全编辑,以实际概述根本问题。

我的客户端元数据上没有出现导航属性时遇到问题。通过对微风客户端代码的深入检查,我发现parseCsdlNavProperty(第 6181 行)中的以下代码导致我的所有集合导航属性都被忽略:

var constraint = association.referentialConstraint;
if (!constraint) {
    // TODO: Revisit this later - right now we just ignore many-many and assocs with missing constraints.
    return;
    // Think about adding this back later.
    //if (association.end[0].multiplicity == "*" && association.end[1].multiplicity == "*") {
    //    // many to many relation
    //    ???
    //} else {
    //    throw new Error("Foreign Key Associations must be turned on for this model");
    //}
}

属性 referentialConstraint 是未定义的,这会导致微风忽略我的相关实体。问题是我不确定a)为什么这是空的,b)这是做什么的,c)为什么微风似乎讨厌这个,当实体框架似乎可以很好地映射事物时,d)如何修复它。

所以我删除了我的整个元数据和模型示例,因为它信息太多。如果需要信息,请告诉我,我会添加。

希望这使问题更具体,更容易破译。

谢谢。

4

1 回答 1

2

您在模型中缺少引用约束的唯一原因是实体框架认为您没有公开外键。请参阅实体框架中的外键

Breeze 需要外键来执行它的自动对象链接逻辑。

这也在这里描述:微风导航属性

于 2013-06-18T23:43:45.627 回答