0

我正在使用带有 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; }

如果我完全删除这条线会发生什么?我不能做什么?据我所知,我唯一不能做的就是使用实体框架来检查我的外键。但是我已经在数据库中设置了这个,所以我仍然会从数据库中得到一个错误。

4

2 回答 2

1

Department 属性作为指向课程特定部门的链接而存在。它可以是一对多关系的一部分,使您可以从课程中访问部门。

于 2013-06-27T04:35:34.217 回答
1

它包含您的Department信息,Depertment Name Courses信息。我认为您可以将其删除,因为您的信息Department也可以通过搜索来访问DepartmentID。但最好保留它。

于 2013-06-27T04:38:37.337 回答