【问题标题】:EF Creating optional relation using fluent apiEF使用流利的api创建可选关系
【发布时间】: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&lt;Department&gt;().HasOptional(e =&gt; e.Manager),但不知道接下来应该做什么。我做错了什么?

更新: 如果这有什么不同,我已经为我的部门准备了这段代码:

modelBuilder.Entity<Department>()
            .HasMany(e => e.ChildDepartments)
            .WithOptional(e => e.ParentDepartment)
            .HasForeignKey(e => e.ParentDeptId);

【问题讨论】:

    标签: c# entity-framework fluent


    【解决方案1】:

    你需要完成那个关系

     modelBuilder.Entity<Department>().HasOptional(e => e.Manager).WithOptionalDependent();
    

    【讨论】:

      猜你喜欢
      • 2021-03-12
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      相关资源
      最近更新 更多