我在使用 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