我正在使用带有 Code First 和延迟加载的 Entity Framework 5。鉴于以下情况:
public class Department
{
public int DepartmentID { get; set; }
public string Name { get; set; }
public virtual ICollection<Course> Courses { get; set; }
}
public class Course
{
public int CourseID { get; set; }
public string Title { get; set; }
public int Credits { get; set; }
public int DepartmentID { get; set; }
public virtual Department Department { get; set; }
}
// Mapping Relationships for Course
<code here>
this.HasRequired(t => t.Department)
.WithMany(t => t.Courses)
.HasForeignKey(d => d.DepartmentID);
有人可以解释为什么我需要:
public virtual Department Department { get; set; }
如果我完全删除这条线会发生什么?我不能做什么?据我所知,我唯一不能做的就是使用实体框架来检查我的外键。但是我已经在数据库中设置了这个,所以我仍然会从数据库中得到一个错误。