ASP.NET MVC Удаление строки из одной таблицы после ее копирования в другую таблицу - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть случай, когда я пытаюсь удалить один элемент из таблицы, но перед этим я хочу скопировать его в другую таблицу.

Вот мой метод удаления:

public ActionResult Delete(int id, Car car)
    {
        try
        {
           using (BookCarDBEntities db = new BookCarDBEntities())
            {
                var carToDelete = db.Cars.FirstOrDefault(c => c.Id == id);
                var book = CreateNewBooking(carToDelete);
                db.Bookings.Add(book);

                db.Cars.Remove(carToDelete);

                db.SaveChanges();

                return View(book);
            }
        catch (Exception ex)
        {
            return View(ex + "error");
        }
    }

А вот метод, который выполняет преобразование из таблицы «Автомобиль» в таблицу «Бронирование»:

 private object CreateNewBooking(Car car)
    {
        var bookingCreated = new Booking
        {
            id = car.Id,
            model = car.model,
            make = car.make,
            price = car.price,
            location = car.location
        };

        return bookingCreated;
    }

Проблема в том, что я получаю ошибку:

'System.InvalidOperationException': тип сущности Booking не является частью модели для текущего контекста.

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 11 декабря 2018

Вам удалось исправить ошибку (в комментариях), но я опубликую решение здесь для других.

Ошибка:

'System.InvalidOperationException': TheТип сущности Бронирование не является частью модели для текущего контекста.

может быть вызвано по нескольким причинам.

  1. Сущность была отсоединена иликаким-то образом потерял свою ссылку в рамках объекта framewowrk.Это может быть решено путем обновления сущностей.Перейдите в файл edmx, щелкните правой кнопкой мыши на поверхности конструктора и выберите Update model from database.Если это по-прежнему не удается, удалите объект (или все объекты) в конструкторе, а затем обновите модель из базы данных.

  2. Если таблица / объект не существует.В этом случае создайте таблицу / сущность и обновите сущности.

  3. Затем выполните перестройку после обновления из базы данных.

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