Невозможно сгенерировать таблицы базы данных из миграции MySQL Ef-Core - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь сгенерировать базу данных и таблицы с помощью EF Core Migrations.У меня есть проект библиотеки классов, в котором есть все необходимые объекты и данные миграции.Я ссылаюсь на проект библиотеки классов в другом веб-приложении ASP.NET Core 2.1.При запуске

команда add-миграция начальная

в консоли диспетчера пакетов Nuget при выборе Проект библиотеки классов , Миграция файлгенерируется в Project Library Project , что нормально.

Когда я запускаю команду

update-database

, выбирая оба библиотека классов и веб-проект , я получаю сообщение о том, что:

Миграции не применялись.База данных уже обновлена.

My DbContextClass :

 public class UserDbContext:DbContext
    {
        public UserDbContext(DbContextOptions<UserDbContext> options) : base(options){}
        public DbSet<LoginSession> login_sessions { get; set; }
        public DbSet<Authentication> authentications { get; set; }
        public DbSet<RolePermissionMap> role_permission_maps { get; set; }
        public DbSet<Entity.User> users { get; set; }
        public DbSet<Role> roles { get; set; }
        public DbSet<UserRole> user_roles { get; set; }
    }

Я попытался запустить

dotnet ef databaseОбновив команду

из консоли, выбрав проект библиотеки классов, я получил сообщение об ошибке:

Не удалось проанализировать указанную версию фреймворка '2.1' Указанная фреймворк 'Microsoft.NETCore.App ', версия' 2.1 'не найдена.

Когда я скопировал все важные файлы из библиотеки классов в другой проект веб-приложения, т.е. файл миграции и веб-проект в одном файле, все работаетхорошо.

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

1 Ответ

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

Ранее я сталкивался с подобными проблемами.

Два предложения:

  1. Пожалуйста, рассмотрите возможность обнуления всей вашей "Миграции" (все каталоги, файлы и т. Д.) Изваш проект, затем повторно запустив dotnet ef migrations add..., затем dotnet ef database update...

  2. Рассмотрите возможность использования поставщика данных Pomelo для MySQL:

https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql

...