Исключение EF Core Microsoft.EntityFrameworkCore.DbUpdateException не уверен, почему это выбрасывается - PullRequest
0 голосов
/ 17 апреля 2019

Я не уверен, почему возникает исключение Microsoft.EntityFrameworkCore.DbUpdateException при вызове dbcontext.SaveChangesAsync ()

Сохранение в базе данных включает в себя несколько шагов. 1. Использование Automapper для отображения из viewmodel -> Model. Кажется, это работает нормально 2. Добавление объекта модели в dbcontext - кажется, работает нормально. 3. Сохраните текущие изменения Dbcontext в базе данных, вызвав SaveChangesAsync для dbContext - это вызывает исключение Microsoft.EntityFrameworkCore.DbUpdateException (внутреннее исключение сообщает «Недопустимое имя объекта« Vehicles »)

Прежде всего, вот код контроллера, который делает бизнес. Исключение выдается при вызове SaveChangesAsync

[HttpPost("")]
public async Task<IActionResult> PostNewVehicleData([FromBody]VehicleViewModel vehicleData_)
{
    try
    {
        if (ModelState.IsValid)
        {
            var newVehicle = _mapper.Map<Vehicle>(vehicleData_);
            _vehicleRepository.AddVehicle(newVehicle);
            if (await _vehicleRepository.SaveChangesAsync())
            {
                return Created($"api/Vehicles/{vehicleData_.Notes}", _mapper.Map<VehicleViewModel>(newVehicle)); 
            }
        } 

        return BadRequest("Failed to save the vehicle");

Как указывалось ранее, внутреннее исключение гласит «Неверное имя транспортного средства». В экземпляре класса есть свойство «Транспорт», которое я пытаюсь сохранить. Это свойство «Транспортные средства» существует, поэтому в базовой базе данных можно установить отношение один ко многим (один дилер много транспортных средств) У кого-нибудь есть идеи относительно того, почему ядро ​​EF «жалуется» на это свойство ??

public class Dealer
{
    public Dealer()
    {

    }
    public int Id {get; set;}
    public string DealerName {get; set;}
    public string StreetAddress{get; set;}
    public City City{get;set;}
    public string PostalCode{get;set;}
    public string WebAddress{get;set;}
    public string PhoneNumber{get;set;}
    public List<Vehicle> Vehicles{get;set;}
    public int CityForeignKey{get; set;}

}

The

...