0

これらは私のエンティティです:

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; }
}

部門には多くの従業員がいます。各ユーザーには1 人の従業員 (1 対 1)しかありません。最初に流暢なコードでこの関係を達成するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

1

共有主キーを使用していないため、それを「1 対多」関係としてマップし、「多」側を無視できます。

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        ...

        modelBuilder.Entity<User>()
         .HasRequired(u => u.Employee)
         .WithMany()
         .HasForeignKey(u => u.EmployeeId);

    }
于 2012-05-13T13:46:36.963 に答える