Подтвердить что ты не робот

Entity Framework: недопустимый столбец после удаления столбца

У меня есть таблица, отображаемая в Entity Framework, которая отлично работает с добавлением/обновлением и удалением записей. Я удалил столбец из SQL sever под названием "Категория" , а затем повторно отобразил объект в модели. Это отлично работало, колонка исчезла.

Теперь я запускаю запрос в таблице, чтобы обновить строку и получить ту же ошибку, недопустимый столбец "Категория" .

Это было удалено из таблицы SQL и удалено из Entity, так что он все еще ищет этот проклятый столбец, когда я запускаю следующий код?

using (Entities db = new Entities())
                { 
                       var Voucher = (from vouchers in db.Vouchers
                                 where vouchers.ID == ID
                                 select vouchers).FirstOrDefault();

                       if (Voucher != null)
                       {
                           Voucher.Status = (int)Vouchers.UI.Enums.VoucherStatus.Removed;                           
                           ret = db.SaveChanges() == 1;
                       }
                } 

Вот ошибка:

Недопустимое имя столбца "Категория" .

Я очистил код, построил, перестроил и обновил enitties примерно в 100 раз.

Есть ли у кого-нибудь идеи?

Спасибо

4b9b3361

Ответ 1

Удалите таблицу из файла *.EDMX, а затем снова добавьте эту таблицу в файл *.EDMX

Ответ 2

Раньше я также удалял и повторно добавлял таблицу, но так не хотел. Что я предпочитаю делать. Я закрываю модель. щелкните правой кнопкой мыши и откройте как XML, и они вручную удаляют эту ссылку. Таким образом, он сохраняет мои множественные диаграммы в пределах одной модели, а также мои определенные цвета.

Ответ 3

Не нужно удалять всю таблицу из файла *.EDMX, просто удалите ненужное поле из файла *.EDMX. Это помогло мне

Ответ 4

Я также столкнулся с тем, что я решил, удалив столбец из файла .edmx. Другой вариант - это то, что упоминалось ранее в сообщении о том, что вы удаляете таблицу и повторно добавляете ее в ваш .edmx файл.