【问题标题】:EF Migrations Error. Design time pattern issuesEF 迁移错误。设计时模式问题
【发布时间】:2019-09-05 22:38:14
【问题描述】:

我正在学习一门涉及 ASP.NET Core 2.2 的课程,并且我正在使用 EF 迁移来创建数据库。已安装所有必要的实体框架工具,包括命令行工具。

当我尝试使用命令 dotnet ef migrations add [Name] 创建代码优先迁移时,我收到一条错误提示

“无法创建 'VegaDbContext' 类型的对象。对于设计时支持的不同模式”

我以前从未见过此错误,也找不到其他人。

我的配置服务方法如下所示。

public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddMvc();
        services.AddDbContext<VegaDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Default")));
    }

我的 DbContext 类看起来像这样

public class VegaDbContext : DbContext
{
    public VegaDbContext(DbContextOptions<VegaDbContext> options)
        : base(options)
    {

    }
}

如果有帮助的话,我正在 HP 上运行 Windows 10。

【问题讨论】:

  • Edit*** 现在我收到此错误“没有为此 DbContext 配置数据库提供程序。可以通过覆盖 DbContext.OnConfiguring 方法或在应用程序服务提供程序上使用 AddDbContext 来配置提供程序. 如果使用 AddDbContext,则还要确保您的 DbContext 类型在其构造函数中接受 DbContextOptions 对象并将其传递给 DbContext 的基本构造函数。"

标签: c# asp.net entity-framework


【解决方案1】:

下次遇到设计时错误时,只需在命令行上键入此命令: * 将 databaseName 更改为您的数据库名称 * 关键是在 -s 之后添加所有内容 * 与 VS IDE 命令行一样使用 Window 命令行

dotnet ef dbcontext info -s ..\databaseName\databaseName.csproj

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 2022-07-15
    • 2018-12-13
    • 1970-01-01
    相关资源
    最近更新 更多