我是实体框架的新手,但我正在使用EF6.1和MVC5,并试图构建一个与其自身相关的Course实体( Course有一个一对一或一对多的预请求过程)。我如何使用EF和CRUD功能来实现这一点?
我的模型如下:物理模型有一个与Course匹配的Course表和一个有3列的prereq表:prereqId、courseNo、preReqCourseNo。
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 virtual ICollection<DeptCourse> DeptCourse { get; set; }
public virtual ICollection<Course> PreReq { get; set; }
}我们的目标是能够在create页面中定义这些属性,这样用户就可以从下拉列表中选择一个或多个课程编号,并使用它们之间的关系更新这两个表。一门课程可以有一个或多个必修课。谢谢。
发布于 2014-10-22 09:28:47
正如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; }
}在这种情况下,每门课程只能是一门课程的先决条件。
https://stackoverflow.com/questions/26330814
复制相似问题