Clave externa EF utilizando Fluent API
Aquí están mis modelos. Tengo mapeo uno a uno para Vehículo y Conductor. Primero crearé el vehículo y luego mapearé al conductor con el vehículo.
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; }
}
Quiero usar la propiedad VehicleId en la clase de conductor para mantener la identificación del vehículo que conduce el conductor.
He escrito el siguiente código de Fluent API:
modelBuilder.Entity<Vehicle>()
.HasRequired(d => d.Driver)
.WithRequiredPrincipal();
Pero crea una nueva columna en la tabla Controladores: Vehicle_VehicleId y la asigna a la tabla VehicleId on Vehicle. Quiero que la tabla VehicleId of Driver se asigne.
Además, soy nuevo en EF y Fluent API. Me resulta extremadamente confuso elegir entre WithRequiredDependent y WithRequiredPrincipal. Estaría contento si lo puedes describir en palabras simples. Gracias.