Asp.net core .Net Core 3.1迁移。IdentityDbContext不继承DbContext
我正在使用MySql,并试图通过迁移向其添加asp.net标识 我有ApplicationDbContext类:Asp.net core .Net Core 3.1迁移。IdentityDbContext不继承DbContext,asp.net-core,entity-framework-core,asp.net-identity,entity-framework-migrations,Asp.net Core,Entity Framework Core,Asp.net Identity,Entity Framework Migrations,我正在使用MySql,并试图通过迁移向其添加asp.net标识 我有ApplicationDbContext类: public class ApplicationDbContext : IdentityDbContext { public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } protected
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
public类ApplicationDbContext:IdentityDbContext
{
公共应用程序DBContext(DbContextOptions选项)
:基本(选项)
{
}
模型创建时受保护的覆盖无效(ModelBuilder)
{
基于模型创建(生成器);
}
}
此外,我已经完成了所有迁移和配置。因此,该项目在另一台机器上运行良好
但是,当我试图运行命令启用迁移-ContextTypeName Web.Data.ApplicationDbContext
时,我收到一个错误“类型'ApplicationDbContext'不是从DbContext继承的。必须将DBMigerationsConfiguration.ContextType属性设置为从DbContext继承的类型。”
如何修复它?您正在混合使用EF6和EF Core命令。EF Core没有“启用迁移”命令。当然,EFC中的
DbContext
类与同名的EF6类不同。因此出现了一条消息(EF6命令期望您的类从EF6继承DbContext
。@IvanStoev但是我如何运行迁移呢?Add migration…
,然后Update Database
等等。@IvanStoev我已经进行了迁移,但是运行Update Database会抛出一个错误“在程序集“Web”中未找到迁移配置类型。”。“那么您可能没有安装EF核心工具。是吗?或者我不知道-您是如何创建迁移的?应该使用addmigration
命令,然后updatedatabase
也应该可以工作。我猜您没有尝试使用EF6生成的迁移-它们与EFC不兼容,迁移历史记录表也不兼容。