复合键的 EF 映射


public class MyConfiguration : EntityTypeConfiguration<MyCode>
{
  public MyConfiguration()
  {
    HasKey(c => new { c.MyCodeId, c.EffectiveDateFrom, c.EffectiveDateTo });
    Property(c => c.MyCodeId).HasColumnName("MyCode");
    Property(c => c.EffectiveDateFrom).HasColumnName("MyEffectiveDateFrom");
    Property(c => c.EffectiveDateTo).HasColumnName("MyEffectiveDateTo");
    ToTable("My_CODES");
    HasMany(d => d.MyGroups).WithRequired().HasForeignKey(k => k.MyCodeID);
  }
}

这是我在 EF4 中的配置类。

我已经定义了类型 IList<MyGroup> 的"我的组"属性。

">

MyGroup"类没有"EffectiveDateFrom"和"EffectiveDateTo"属性。

引发异常后的运行时:

System.Data.Edm.EdmAssociation约束:关系约束中"从属角色"和"主体角色"中的属性数必须相同。

查询:
当父表中使用的所有列在子表中不可用时,如何在 EF4 中创建这种映射?

您无法创建此类映射,因为它无效。从属实体中的外键必须包含在主体实体中定义的复合主键的所有组件。

最新更新