这里是我的模型。我对车辆和司机进行了一对一的映射。我将首先创建车辆,然后将司机映射到车辆上。
public class Driver
{
public int Id { get; set; }
public String Name { get; set; }
public int VehicleId { get; set; }
public virtual Vehicle Vehicle { get; set; }
}
public class Vehicle
{
public int Id { get; set; }
public String Name { get; set; }
public virtual Driver Driver { get; set; }
public int VehicleGroupId { get; set; }
public virtual VehicleGroup Vehicles { get; set; }
}
我想在Driver类中使用VehicleId属性来记录司机所驾驶的车辆的ID。
我编写了以下Fluent API代码:
modelBuilder.Entity<Vehicle>()
.HasRequired(d => d.Driver)
.WithRequiredPrincipal();
但是它会在Drivers表中创建一个新的列-Vehicle_VehicleId,并将其映射到Vehicle表上的VehicleId。我希望Driver表中的VehicleId也能够映射。
另外,我对EF和Fluent API都很陌生。在选择WithRequiredDependent和WithRequiredPrincipal之间感到非常困惑。如果您能用简单的话来描述一下,我会很感激。谢谢。