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