实体的关系

本文关键字:关系 实体 | 更新日期: 2023-09-27 18:34:11

这些是我的实体:

public class Department
{
    public Department()
    {
        Employees = new List<Employee>();
    }
    public int ID { get; set; }
    public string Name { get; set; }
    public IList<Employee> Employees { get; set; }
}
public class Employee
{
    public int ID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int DepartmentID { get; set; }
    public Department Department { get; set; }
}
public class User
{
    public int ID { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public int EmployeeID { get; set; }
    public Employee Employee { get; set; }
}

部门有很多员工。 每个用户只有一个员工(一对一)。 如何首先通过流畅的代码实现这种关系?

谢谢。

实体的关系

由于您没有使用共享主键,因此可以将其映射为"一对多"关系,而忽略"多"端。

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        ...
        modelBuilder.Entity<User>()
         .HasRequired(u => u.Employee)
         .WithMany()
         .HasForeignKey(u => u.EmployeeId);
    }