无法从Migration MySQL Ef-Core生成数据库表

点网开发商

我正在尝试使用EF Core Migrations生成数据库和表。我有一个类库项目,其中包含所有必需的实体和迁移数据。我在另一个ASP.NET Core 2.1 Web应用程序中引用类库项目。跑步时

初始迁移

在Nuget软件包管理器控制台中的“命令”中选择“类库项目”可以在“类库项目”中生成迁移文件

当我运行命令

更新数据库

选择类库Web项目,我得到的消息是:

没有应用迁移。该数据库已经是最新的。

我的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数据库更新

从控制台选择“类库”项目的命令,我收到一条错误消息:

无法解析指定的框架版本“ 2.1”。找不到指定的框架“ Microsoft.NETCore.App”版本“ 2.1”。

当我将所有重要文件从类库复制到另一个Web应用程序项目(即迁移文件和Web项目在同一文件中)时,一切正常。

我想知道为什么当类库和Web应用程序位于单独的文件中时出现此错误并无法找到解决方案。谁能帮我?我在Web应用程序中引用了许多类库。因此,我不能仅将所有必需的文件移植到另一个Web应用程序以生成数据库表。

保罗4

我以前也遇到过类似的问题。

两个建议:

  1. 请考虑从您的项目中删除整个“迁移”(所有目录,文件等),然后重新运行dotnet ef migrations add...,然后是dotnet ef database update...

  2. 考虑为MySQL使用Pomelo数据提供程序:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章