Мои условия запуска:
- У меня есть приложение на .Net Core, использующее EF Core (оба 2.2);
- У меня есть существующая база данных на локальном SQLServer;
- Я использую встроенный DI для предоставления моего DbContext:
services.AddDbContext<MyDbContext>(options => options.UseSqlServer(connectionString))
; - Я использую Fluent API для настройки моего контекста (пустой метод для запуска с) и конструктор
DbContextOptions<MyDbContext> options
; - У меня несколько миграций из других проектов , существующих в базе данных и , не существующих в моем текущем проекте .
Использование всехиз упомянутого я выполняю (dotenet ef migrations add Initial --project ../MyDALProject
) на пустой модели, чтобы получить пустую начальную миграцию.Это отлично работает.Затем я запускаю dotenet ef database update --project ../MyDALProject
, чтобы применить эту пустую миграцию к базе данных.Тем не менее, я получаю «База данных« TargetDatabase »уже существует. Выберите другое имя базы данных» .
Кстати: другие проекты работают с тем же Db так же хорошо.
В чем может быть проблема?Как заставить это работать?
PS: контексты других проектов, как я уже упоминал, были добавлены в леса и сопоставлены с некоторыми существующими таблицами.После эшафот миграции и обновления работают как положено.Проблема заключается только в этом проекте, который приведет новые таблицы к существующей базе данных.