我正在尝试使用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应用程序以生成数据库表。
我以前也遇到过类似的问题。
两个建议:
请考虑从您的项目中删除整个“迁移”(所有目录,文件等),然后重新运行dotnet ef migrations add...
,然后是dotnet ef database update...
考虑为MySQL使用Pomelo数据提供程序:
https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句