ef代码首先与模型中的外键一对一关系,而不是主键

时间:2013-11-13 16:11:36

标签: breeze

我的理解是,ef代码首先不支持依赖一侧的显式外键的一对一关系,这也不是主键...我也理解为了使微风导航属性起作用,在依赖方面必须有一个外键...所以我的问题是,是否正确假设没有办法与显式外键建立一对一的关系,而外键也不是工作的主键在微风中?如果是的话,有没有解决方法?如果没有,我将如何设置元数据?我们实际上是按照nodb示例以编程方式生成我们的元数据...有没有办法通过代码来设置这种类型的导航属性?假设我们在依赖方面仍然有一个外键,只有它会被EF忽略...谢谢

1 个答案:

答案 0 :(得分:1)

这是一个非常有趣的问题。我很确定答案是“不”。

"metadata by hand"看一下这个例子。它描述了从依赖Product到其主体Category的导航。

navigationProperties: {
        category: {
            entityTypeName: "Category",
            associationName: "Product_Category",
            foreignKeyNames: ["categoryID"]
        },

请注意,它标识了FK属性categoryID,但对主要方面的属性保持沉默,FK值必须匹配。

沉默说得很多。显然,“不言而喻”,委托人的匹配属性是主要实体的关键。

EF具有健全的实体数据建模理由强加此约束(如果我能记住它们是什么,则会变得很难)。显然Breeze也是如此。