小编Daw*_*iak的帖子

Entity Framework Core 中的两个外键

我在使用 Entity Framework Core 创建数据库时使用代码优先方法。我想创建两个指向同一个表的外键。我的示例显示用户表将保存用户 ID,消息表将保存接收者 ID 和发送者 ID(这意味着两个值必须指向同一个表)。

用户代码:

public class User
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    [MaxLength(50)]
    public string UserName { get; set; }
    [Required]
    [MaxLength(50)]
    public string Password { get; set; }

    public virtual ICollection<Message> MessagesSent { get; set; }
    public virtual ICollection<Message> MessagesReceived { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

留言:

public class Message
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int id { get; set; }

    public User Sender { get; set; }
    public …
Run Code Online (Sandbox Code Playgroud)

asp.net entity-framework entity-framework-core asp.net-core asp.net-core-2.0

4
推荐指数
1
解决办法
4915
查看次数