Вот мои модели. У меня есть одно к одному отображение для Vehicle and Driver. Сначала я создам транспортное средство, а затем сопоставьте водителя с транспортным средством.
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; }
}
Я хочу использовать свойство VehicleId в классе Driver для хранения идентификатора автомобиля, в котором водитель водит.
Я написал следующий код API Fluent:
modelBuilder.Entity<Vehicle>()
.HasRequired(d => d.Driver)
.WithRequiredPrincipal();
Но он создает новый столбец в таблице драйверов - Vehicle_VehicleId и сопоставляет его с таблицей VehicleId on Vehicle. Я хочу, чтобы карта VehicleId of Driver отображалась.
Кроме того, я новичок в EF и Fluent API. Я нахожу это чрезвычайно запутанным выбором между WithRequiredDependent и WithRequiredPrincipal. Был бы рад, если бы вы могли описать это простыми словами. Спасибо.