小编M J*_*M J的帖子

如何在asp.net-core-2.0中向项目添加'IDesignTimeDbContextFactory <DataContext>'的实现

以下是我安装的软件包列表:已安装的软件包

我正在使用Entityframework核心2.0.我第一次使用实体框架代码成功创建了数据库第一次迁移(add-migration和update-database命令).现在,当我更新我的实体并尝试运行迁移时,它会给我以下错误.

无法创建"DataContext"类型的对象.将"IDesignTimeDbContextFactory"的实现添加到项目中,或者参阅https://go.microsoft.com/fwlink/?linkid=851728以获取在设计时支持的其他模式.

这是我的代码......

Program.cs中

public static void Main(string[] args)
{
    BuildWebHost(args).Run();
}

public static IWebHost BuildWebHost(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .Build();
Run Code Online (Sandbox Code Playgroud)

Startup.cs

public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
    // Repositories

    services.AddMvc();
    services.AddDbContextPool<DataContext>(
        options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
        //options => options.UseSqlServer(@"Server=LAPTOP-518D8067;Database=Gyanstack;Trusted_Connection=True;MultipleActiveResultSets=true"));

    services.AddCors();
    services.AddScoped<ISectionRepository, SectionRepository>();
    services.AddScoped(typeof(IEntityBaseRepository<>), typeof(EntityBaseRepository<>));
}
Run Code Online (Sandbox Code Playgroud)

DataContext.cs

public …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core asp.net-core-2.0

22
推荐指数
2
解决办法
3万
查看次数