【问题标题】:Manual Entity Framework association手动实体框架关联
【发布时间】:2012-01-03 03:55:23
【问题描述】:

我有以下表格:

Table Group (
   id INT PK,
   year INT PK,
   name VARCHAR
)

Table Person (
    id PK,
    GroupID INT,
    name VARCHAR
)

数据库没有定义外键,所以我想手动创建从 Person 表 GroupID 到 Group 表 id 的关联。

为此,我右键单击人员并添加关联。我创建了一个多对一关联,一切正常。问题是当我去添加映射时。因为Group 表有两个主键实体框架是从Person 表中映射到year 键的东西。

我需要做什么来创建关联?

【问题讨论】:

    标签: c# linq entity-framework entity-framework-4.1


    【解决方案1】:

    您无法创建此类关联,因为 EF 遵循与数据库相同的规则。主体实体中的所有 PK 列必须作为依赖实体中的 FK 列存在。

    唯一的方法可以是某些数据库视图选择具有 Id 和 Name 的不同组并将其映射为只读实体并在这两者之间建立导航。我没有尝试过,但我想它应该可以工作。它将有其自身的缺点,因为您将有两个完全不相关的实体用于组,而与人员相关的实体将不接受任何修改(没有映射自定义 SQL 命令或存储过程来插入、更新和删除操作)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多