Не удается сохранить данные в базу данных, попытка завершается неудачно, всегда входит в catch - PullRequest
0 голосов
/ 21 октября 2019

Область действия try завершается с ошибкой в ​​этом бите кода. Я не могу записать данные в базу данных. Всякий раз, когда я пытаюсь запустить код, я получаю перехват, который возвращает код состояния 500.

Я пытался изменить входные данные, но мне это не удалось.

Контроллер:

[HttpPost("Floors")]
        public IActionResult CreateFloor([FromBody]CreateFloorRequest createFloorRequest)
        {
            try
            {
                if (createFloorRequest == null)
                {
                    return NotFound();
                }

                return CreatedAtRoute("FloorById", _repository.Floor.CreateFloor(createFloorRequest),
                    createFloorRequest);
            }
            catch (Exception e)
            {
                return StatusCode(500, e.InnerException);
            }
        }

Репозиторий:

public int CreateFloor(CreateFloorRequest createFloorRequest)
        {
            Floor floor = new Floor()
            {
                LocationId = createFloorRequest.LocationId,
                Name = createFloorRequest.Name,
                Picture = createFloorRequest.Picture
            };
            _context.Floors.Add(floor);
            _context.SaveChanges();
            return floor.Id;
        }

Редактировать: после изменения моего улова для отображения e.InnerException я получил следующую ошибку: "Message": "The INSERT statement conflicted with the FOREIGN KEY constraint \"FK_Floors_Locations_LocationId\". The conflict occurred in database \"GalleriesDB\", table \"dbo.Locations\", column 'Id'.\r\nThe statement has been terminated.".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...