как обновить модель после сброса coulmn из базы данных sql - PullRequest
1 голос
/ 15 июня 2019

Я удалил catalog_filename coulmn из базы данных и вижу эту ошибку:

Указанная схема недействительна. Ошибки: Отношение 'J_DBModel.FK__CATALOG_T__CATEG__41B8C09B' не было загружено, поскольку тип 'J_DBModel.CATALOG_TBL' недоступен. Следующая информация может быть полезна при устранении предыдущей ошибки: Обязательное свойство 'CATALOG_FILENAME' не существует для типа 'Javad_New.Models.CATALOG_TBL'.

В моей модели catalog_filename все еще существует.

    public long CATALOG_ID { get; set; }
    public Nullable<long> CATEGORY_FK { get; set; }
    public string CATALOG_TITLE { get; set; }
    public string CATALOG_DESC { get; set; }
    public string CATALOG_CATEGORY { get; set; }
    public Nullable<int> CATALOG_PAGENO { get; set; }
    public Nullable<bool> CATALOG_RTL_FLAG { get; set; }
    public string CATALOG_FILENAME { get; set; }
    public Nullable<System.DateTime> CATALOG_DATE { get; set; }

    public virtual CATEGORY_TBL CATEGORY_TBL { get; set; }

Ответы [ 2 ]

0 голосов
/ 15 июня 2019
Make changes to the database

Первый шаг - внести необходимые изменения в вашу базу данных.В этом примере единственным изменением является имя столбца.Достаточно просто.Важно отметить, что если у вас есть какие-либо хранимые процедуры и т. Д., Которые полагаются на это имя столбца, они также должны быть обновлены.

Откройте файл .edmx

Модель существует в вашем проекте как файл .edmx.Откройте обозреватель решений (ctrl + alt + L) и введите .edmx в строку поиска вверху.Ваша модель должна появиться (это единственная модель с таким расширением).Откройте его, и вы увидите схему связанных таблиц.

Удалить старую таблицу из модели

Перед обновлением модели необходимо удалить существующую версию таблицы, которую вы изменили из модели.В .edmx щелкните правой кнопкой мыши область между таблицами и выберите «Обозреватель моделей».Откроется дерево файлов всех таблиц, содержащихся в вашей модели.Удалите каждый экземпляр таблицы, которую вы изменили в вашей базе данных.Я считаю полезным вводить имя измененной таблицы в строке поиска в верхней части браузера модели, которая покажет вам все таблицы в модели с этим именем.Удалить их!Обратите внимание, что попытка обновить модель из базы данных без предварительного удаления старых таблиц не приведет к корректному обновлению модели, и приложение может скомпилироваться неправильно.

Обновление модели из базы данных

Теперь, когда ваша старая таблица удалена, щелкните правой кнопкой мыши в .edmx и выберите Обновить модель из базы данных.Вы увидите следующий экран:

0 голосов
/ 15 июня 2019

В коде первый шаблон никогда (удалить / изменить) в sql. вы должны управлять вещами из миграции в вашем случае просто добавьте столбец в таблицу из sql, затем удалите из класса c # и добавьте новую миграцию

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