【问题标题】:Include foreign key in composite primary key in Code-First Entity Framework在 Code-First Entity Framework 的复合主键中包含外键
【发布时间】:2015-08-31 19:28:57
【问题描述】:

我有一个名为Member 的实体,我想为其设置主键MemberIdGroupId。在这种情况下,GroupId 是实体 Group 的主键。使用下面的代码,外键设置正确,但不包含在主键中。如何添加外键列来制作复合主键?

public class Member
{
    [Key]
    public string MemberId { get; set; }

    public string MemberName { get; set; }

    public string GroupId { get; set; }

    [ForeignKey("GroupId")]
    public virtual Group Group { get; set; }
}

【问题讨论】:

    标签: c# entity-framework foreign-keys primary-key composite-primary-key


    【解决方案1】:

    这是来自MSDN 的示例。只需在要包含在复合键中的所有属性上使用 [Key] 注释,并为这些列添加额外的 [Column(Order=x)]attribute。

    public class Member
    {
        [Key]
        [Column(Order = 0)]
        public string MemberId { get; set; }
    
        [Key]
        [Column(Order = 1)]
        public string GroupId { get; set; }
    
        public string MemberName { get; set; }     
    
        [ForeignKey("GroupId")]
        public virtual Group Group { get; set; }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-25
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多