Я новичок в программировании и разработке, и я учусь, и это один из моих учебных проектов.Я пытался обойти это различными способами, но когда я пытаюсь добавить новую модель транспортного средства в конкретную марку транспортного средства, столбец Id не увеличивается автоматически, а пытается перезаписать первый Id.
Я попытался обойти аннотации данных, которые, на мой взгляд, являются правильными, я попытался вручную добавить значения в базу данных с помощью запросов, и это прекрасно работает.Пробовал удалять БД и миграции, снова менять аннотации и ничего не работает.Единственное, что я могу сделать неправильно, это сам код, вероятно, где-то на уровне контроллера или сервиса.
Класс VehicleMake:
public class VehicleMake
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
[Display(Name = "Make Name")]
public string Name { get; set; }
[Required]
[Display(Name = "Abbreviation")]
public string Abrv { get; set; }
[Display(Name = "Models")]
public virtual IEnumerable<VehicleModel> VehicleModels { get; set; }
}
Класс VehicleModel:
public class VehicleModel
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
public int MakeId { get; set; }
public virtual VehicleMake Make { get; set; }
[Required]
[Display(Name = "Model Name")]
public string Name { get; set; }
[Required]
[Display(Name="Abbreviation")]
public string Abrv { get; set; }
}
Контроллер для модели автомобиля:
[HttpPost]
public IActionResult Create(int Id, VehicleModel newModel)
{
if (ModelState.IsValid)
{
newModel.MakeId = Id;
_model.Add(newModel);
return RedirectToAction("Index");
}
return View(newModel);
}
Служба добавления новой модели:
public void Add(VehicleModel newModel)
{
_context.Add(newModel);
_context.SaveChanges();
}
Вот значение, которое оно пытается добавить в БД и, конечно, выдает ошибку https://imgur.com/pL9EruF
Что я делаю не так?