#c# #asp.net-core #entity-framework-core #entity-framework-migrations
#c# #asp.net-core #entity-framework-core #entity-framework-миграции
Вопрос:
У меня есть ASP.NET Проект Core 2 и база данных MySQL, я использую EF с подходом, основанным на коде.
Я пытаюсь добавить новые свойства Models
и получаю ошибку при выполнении Update-Database
.
Давайте предположим, что у меня есть класс модели Test
, подобный этому:
public class Test
{
public int Id { get; set }
public string Name { get; set; }
...
}
Я добавляю новое свойство:
public string LastName { get; set; }
Затем я запускаю Add-Migration AddLastName
и Update-Database
вижу в выводе w, что первая миграция не применяется Initial
AddLastName
. Итак, последняя ошибка, которую я вижу Table 'AspNetRoles' already exists
Есть идеи?
Комментарии:
1. вы удалили записи таблицы миграции?
2. @RamyMohamed Я использовал экземпляр Digital Ocean, а теперь перешел на AWS, поэтому моя __EFMigrationHistory пуста, верно
Ответ №1:
Я предполагаю, что вы удалили записи миграции в базе данных, поэтому, если это так, вам придется заново сконструировать базу данных, удалив ее из своей базы данных и повторно запустив начальную миграцию (только если вы только что создали базу данных без каких-либо полезных записей в ней).). Другим вариантом было бы просто удалить из миграции те записи, которые, по вашему мнению, таблицы уже находятся в базе данных, из методов UP и DOWN и запустить миграцию только с теми записями, которые, по вашему мнению, находятся в ожидании, и запустить команду update-database .