首先在代码中的 ASP.NET MVC 中的 Table 中添加外键

Add Foreign Key in Table in ASP.NET MVC in code first

我想在讲师和课程之间建立一对多的关系。我怎样才能实现它?以下是我目前所拥有的。

public class Instructor
{
    //[Key]
    public int id { get; set; }
    public string name { get; set; }
    public string address { get; set; }
    public string email { get; set; }
}
public class Course
{
    //[Key]
    public int id { get; set; }
    [DisplayName("Course")]
    [Required(ErrorMessage = "CSExxx")]
    public string progId { get; set; }
    public string name { get; set; }
    public string semester { get; set; }
    public string description { get; set; }
    public virtual Instructor instructor { get; set; }
}

您需要向 Instructor 添加虚拟课程集合

public class Instructor
{
    //[Key]
    public int id { get; set; }
    public string name { get; set; }
    public string address { get; set; }
    public string email { get; set; }

    public virtual ICollection<Course> Courses { get; set; }
}
public class Course
{
    //[Key]
    public int id { get; set; }
    [DisplayName("Course")]
    [Required(ErrorMessage = "CSExxx")]
    public string progId { get; set; }
    public string name { get; set; }
    public string semester { get; set; }
    public string description { get; set; }
    public virtual Instructor instructor { get; set; }
}

在您的 DataContext 中的 OnModelCreating 中

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Instructor>().HasMany(i => i.Courses).WithRequired(c => c.Instructor).HasForeignKey(c => c.instructor).WillCascadeOnDelete(true);
}