【发布时间】:2014-06-13 02:13:40
【问题描述】:
这些是我的课程:
public class Department
{
[Key]
[Column("Department_Id")]
public int DepartmentId { get; set; }
[Required]
[Column("Name")]
public string Name { get; set; }
[Column("Manager_Id")]
public int? ManagerId { get; set; }
[Column("Parent_Department_Id")]
public int? ParentDeptId { get; set; }
public virtual ICollection<Department> ChildDepartments { get; set; }
public virtual Department ParentDepartment { get; set; }
public virtual Employee Manager { get; set; }
}
public class Employee
{
[Key]
[Column("Employee_Id")]
public int Id { get; set; }
[Required]
[Column("First_Name")]
public string FirstName { get; set; }
[Required]
[Column("Last_Name")]
public string LastName { get; set; }
[Required]
[Column("Job_Title_Id")]
[ForeignKey("JobTitle")]
public int? JobTitleId { get; set; }
[Column("Manager_Id")]
public int? ManagerId { get; set; }
[Required]
[Column("Department_Id")]
public int? DepartmentId { get; set; }
public virtual Department Department { get; set; }
public virtual JobTitle JobTitle { get; set; }
}
现在在部门中,经理是可选的。如何使用 fluent api 建立这种关系?我想我需要使用modelBuilder.Entity<Department>().HasOptional(e => e.Manager),但不知道接下来应该做什么。我做错了什么?
更新: 如果这有什么不同,我已经为我的部门准备了这段代码:
modelBuilder.Entity<Department>()
.HasMany(e => e.ChildDepartments)
.WithOptional(e => e.ParentDepartment)
.HasForeignKey(e => e.ParentDeptId);
【问题讨论】:
标签: c# entity-framework fluent