我的理解是,ef代码首先不支持与依赖端的显式外键的一对一关系,该外键不是主键……这也是我的理解,为了让微风导航属性工作,在依赖端必须有一个外键……所以我的问题是,假设没有办法与显式外键建立一对一的关系,而这个外键不是在breeze中工作的主键,这是正确的吗?如果是这样的话,有什么变通方法吗?如果没有,我需要如何设置元数据?我们实际上以编程方式生成我们的元数据,遵循nodb示例...有没有办法通过代码来设置这种类型的导航属性?假设我们仍然在依赖端有一个外键,只是它将被EF忽略…谢谢
发布于 2013-11-14 12:12:22
这是一个非常有趣的问题。我很确定答案是“不”。
看看这个来自"metadata by hand"的例子。它描述了从依赖Product到它的主体Category的导航。
navigationProperties: {
category: {
entityTypeName: "Category",
associationName: "Product_Category",
foreignKeyNames: ["categoryID"]
},请注意,它标识了FK属性categoryID,但对FK值必须匹配的主体端的属性保持沉默。
这种沉默很能说明问题。显然,“不言而喻”,主体上的匹配属性是主体实体的键。
EF有合理的实体数据建模理由来施加这个约束(如果我记得它们是什么的话,那就太糟糕了)。显然,Breeze也是如此。
https://stackoverflow.com/questions/19958746
复制相似问题