繁体   English   中英

实体框架6与流利api的0.1到0.1关系

[英]Entity Framework 6 0.1 to 0.1 relationship with fluent api

可以说我想在实体框架6中为公司停车场建模:

  • 我有员工和汽车。
  • 雇员可以有车,也可以没有车。
  • 汽车可以属于雇员,也可以不属于雇员。

我知道如何在带有中间表的关系数据库中对此建模:

EmployeeCarAssociation
-EmployeeId
-CarId

使用EmpoyeeIdCarId作为主键,并且在两列上都具有EmpoyeeId约束。

但是,如何使用EF6 Fluent Api创建0.1到0.1的关系?

试试这个代码:

public class Employee
{
    public int Id { get; set; }
    public Car Car { get; set; }
    public int? CarId { get; set; }
}

public class Car
{
    public int Id { get; set; }
    public Employee Employee { get; set; }
}

public class ApplicationDbContext : DbContext
{
    public DbSet<Employee> Employees { get; set; }
    public DbSet<Car> Cars { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Car>()
            .HasOptional(c => c.Employee)
            .WithOptionalDependent(e => e.Car)
            .Map(config =>
            {
                config.MapKey("EmployeeId");
            });

        base.OnModelCreating(modelBuilder);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM