【问题标题】:ef code first one-to-one relationship with foreign key in model that is not also primary keyef 代码第一个与模型中的外键一对一的关系,它也不是主键
【发布时间】:2013-11-14 12:12:22
【问题描述】:

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

【问题讨论】:

    标签: breeze


    【解决方案1】:

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

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

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

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

    沉默说明一切。显然“不言而喻”主体上的匹配属性是主体实体的键。

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

    【讨论】:

      猜你喜欢
      • 2012-12-14
      • 2015-11-09
      • 2015-07-16
      • 2017-11-16
      • 1970-01-01
      • 2015-07-29
      • 2020-01-08
      • 1970-01-01
      相关资源
      最近更新 更多