1

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

4

1 回答 1

1

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

从“手工元数据”看一下这个例子。它描述了从dependentProduct到它的 principal的导航Category

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

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

这种沉默说明了一切。显然,“不言而喻”主体上的匹配属性是主体实体的密钥。

EF 有合理的实体数据建模理由来施加此约束(如果我能记住它们是什么,那该死的)。显然微风也效仿。

于 2013-11-14T04:12:22.417 回答