使用Entity Framework 6.1和MVC5为自引用创建CRUD

时间:2014-10-12 22:50:24

标签: c# entity-framework asp.net-mvc-5

我是Entity Framework的新手,但我正在使用EF 6.1和MVC5并尝试构建一个与自身有关系的Course实体(Course有一个pre-req课程(s )一对一或一对多)。如何使用EF和CRUD功能实现这一目标?

我的模型如下:物理模型有Course表与Course匹配,prereq表有3列:prereqId,{{1 },courseNo

preReqCourseNo

目标是能够在创建页面中定义这些属性,以便用户可以从下拉列表中选择课程编号或倍数,并使用它们之间的关系更新这两个表。课程可以有一个或多个必修课程。谢谢。

1 个答案:

答案 0 :(得分:0)

正如Basic建议的那样,我认为这确实是一种多对多的关系。但如果真的是一对多的话,你可以像这样制作你的模型:

 public class Course
    {
        public int CourseId { get; set; }
        public string CourseNumber { get; set; }
        public string CourseName { get; set; }
        public decimal Credits { get; set; }
        public bool? PreReq { get; set; }
        public int DepartmentID { get; set; }

        public int? PreRequisiteForCourseId {get; set;}
        public virtual Course PreRequisiteForCourse {get; set;}
        [InverseProperty("PreRequisiteForCourse")]
        public virtual ICollection<Course> PreReq { get; set; }
    }

在这种情况下,每门课程只能是一门课程的先决条件。