我的理解是,ef代码首先不支持依赖一侧的显式外键的一对一关系,这也不是主键...我也理解为了使微风导航属性起作用,在依赖方面必须有一个外键...所以我的问题是,是否正确假设没有办法与显式外键建立一对一的关系,而外键也不是工作的主键在微风中?如果是的话,有没有解决方法?如果没有,我将如何设置元数据?我们实际上是按照nodb示例以编程方式生成我们的元数据...有没有办法通过代码来设置这种类型的导航属性?假设我们在依赖方面仍然有一个外键,只有它会被EF忽略...谢谢
答案 0 :(得分:1)
这是一个非常有趣的问题。我很确定答案是“不”。
从"metadata by hand"看一下这个例子。它描述了从依赖Product
到其主体Category
的导航。
navigationProperties: {
category: {
entityTypeName: "Category",
associationName: "Product_Category",
foreignKeyNames: ["categoryID"]
},
请注意,它标识了FK属性categoryID
,但对主要方面的属性保持沉默,FK值必须匹配。
沉默说得很多。显然,“不言而喻”,委托人的匹配属性是主要实体的关键。
EF具有健全的实体数据建模理由强加此约束(如果我能记住它们是什么,则会变得很难)。显然Breeze也是如此。