【发布时间】:2021-09-15 19:42:54
【问题描述】:
我正在尝试在 ASP.NET Core Web 应用程序中创建迁移,但是当我尝试执行此操作时,包管理器控制台会返回警告和错误:
警告:“还安装了早于 6.3 的 Entity Framework 版本。新工具正在运行。对旧版本使用 'EntityFramework\Add-Migration'。”
错误:“在程序集 'MyProjectName' 中找不到迁移配置类型。(在 Visual Studio 中,您可以使用包管理器控制台中的 Enable-Migrations 命令添加迁移配置)。”
经过一番研究,我发现一个常见的问题是包管理器中选择的默认项目不正确;但这不是我的情况,因为它只给了我一个选择,而且这是我正在处理的项目。 我还发现当前的解决方案是使用“Enable-Migrations”命令启用迁移,但是当我尝试这样做时,它给了我同样的警告和另一个错误:
错误:在程序集“MyProjectName”中找不到上下文类型。
我还以不同的方式尝试了“enable-migraitons”命令,“enable-migrations -contexttypename MyDBContextName”,但这给了我另一个错误:
错误:在程序集“MyProjectName”中找不到上下文类型“MyDBContextName”。
但我实际上有以下课程:
public class MyDBContextName: IdentityDbContext<UserModel>
{
public MyDBContextName(DbContextOptions<MyDBContextName> options) : base(options)
{
}
}
我的启动/配置服务类中有这个:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<MyDBContextName>(options => options.UseSqlServer("DefaultConnection"));
services.AddIdentity<UserModel, IdentityRole>().AddEntityFrameworkStores<MyDBContextName>().AddDefaultTokenProviders();
services.AddControllers();
}
任何想法可能导致这些错误? 非常感谢您抽出宝贵时间,如果您需要更多信息,我会在看到您的请求后立即提供给您。祝你有美好的一天。 (:
【问题讨论】:
标签: visual-studio entity-framework asp.net-core migration dbcontext