EntityFrameworkCore中的导航属性

时间:2018-05-22 12:21:24

标签: c# entity-framework-core

我正在使用实体框架核心。我想要3个表:Appoitments,Users和Roles。 “用户”表包含具有不同角色的应用程序成员。有没有办法让'Appoitments'表与外键:ClientID和'User'类型的ConsultantID?

public class ApplicationUser : IdentityUser
{
    public List<Appointment> Appointments { get; set; }
}

public class Appointment
{
    public int AppointmentId {get;set;}
    public DateTime Date { get; set; }
    public int RoomNumber { get; set; }

    public ApplicationUser ConsultantId { get; set; }
    public ApplicationUser ClientId { get; set; }
}

我创建了类ApplicationUser和Appointment,并在ApplicationDbContext中添加了属性:     public DbSet Appointments {get;组; }。

但是当我尝试添加迁移时,Packet Manager抛出“(无法确定”List“类型的导航属性”ApplicationUser.Appointments“所代表的关系。

1 个答案:

答案 0 :(得分:0)

问题中没有足够的信息真正区分正在发生的事情......但我不明白为什么这样的事情不起作用:

public class Appointment
{
    public int AppointmentId {get;set;}
    public DateTime Date { get; set; }
    public int RoomNumber { get; set; }
    [ForeignKey("Consultant")]
    public int ConsultantId { get; set; }
    [ForeignKey("Client")]
    public int ClientId { get; set; }


    public ApplicationUser Consultant { get; set; }
    public ApplicationUser Client { get; set; }
}