我使用Code First Approach创建了3个表 . 当我在学生表上执行查找时,我得到以下模型验证异常 .

Student_courses_Target_Student_courses_Source ::关系约束中的从属角色和主要角色中的属性数必须相同 .

public class University
{
    [Key]
    public string Uni_ID { get; set; }
    public virtual List<Course> Courses { get; set; } 
}

 public class Course
{
    [Key]
    [Column(Order = 1)]
    public string Course_ID { get; set; }


    [Key,ForeignKey("uni")]
    [Column(Order = 2)]
    public string Uni_ID { get; set; }

    public virtual ICollection<Student> Students { get; set; }

    public virtual University uni { get; set; }
}

    public class Student
{
    [Key,ForeignKey("course"), Column(Order = 1)]
    public string Course_ID { get; set; }

    [ForeignKey("course"),Column(Order = 2)]
    public string Uni_ID { get; set; }

    [Key]
    [Column(Order = 3)]
    public string Student_ID { get; set; }

    public virtual Course course { get; set; }
}

根据我的理解,异常意味着我没有将学生表中的外键映射到课程表中的主键 . 但我已经做到了 . 是否存在关于“Uni_ID”如何在大学课程和课程表中作为主键出现的问题,也许我在将它作为外键引用到Student表中时出错了?