繁体   English   中英

在Code-First Entity Framework中包含复合主键中的外键

[英]Include foreign key in composite primary key in Code-First Entity Framework

我有一个名为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; }
}

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

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; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM