Entity framework core 添加迁移不';从实体框架核心1.1升级到2后无法工作

Entity framework core 添加迁移不';从实体框架核心1.1升级到2后无法工作,entity-framework-core,Entity Framework Core,我从EntityFrameworkCore1.1升级了我的ASP.NET项目。到实体框架核心2 我有一个面向.net framework的类库 我的类库中有多个DBContext 当我运行命令addmigration MyMigration时,我得到 找到多个DbContext。指定要使用哪一个。PowerShell命令使用“-Context”参数,dotnet命令使用“-Context”参数 然后运行addmigration MyMigration-Context MyContext 然后我得

我从EntityFrameworkCore1.1升级了我的ASP.NET项目。到实体框架核心2

我有一个面向.net framework的类库

我的类库中有多个DBContext

当我运行命令
addmigration MyMigration
时,我得到

找到多个DbContext。指定要使用哪一个。PowerShell命令使用“-Context”参数,dotnet命令使用“-Context”参数

然后运行
addmigration MyMigration-Context MyContext

然后我得到

无法创建“MyContext”类型的对象。将“IDesignTimeDbContextFactory”的实现添加到项目中,或参阅以获取设计时支持的其他模式


此命令用于工作

看起来您不仅升级了Ef,还升级了Asp.Net内核。将程序.cs文件更改为:

public class Program
{
    public static void Main(string[] args)
    {
        var host = BuildWebHost(args);

        host.Run();
    }

    // Tools will use this to get application services
    public static IWebHost BuildWebHost(string[] args) =>
        new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();
} 
公共类程序
{
公共静态void Main(字符串[]args)
{
var host=BuildWebHost(args);
host.Run();
}
//工具将使用它来获取应用程序服务
公共静态IWebHost BuildWebHost(字符串[]args)=>
新WebHostBuilder()
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.Useii整合()
.UseStartup()
.Build();
} 

看起来您的升级不仅是Ef,而且是Asp.Net核心。将程序.cs文件更改为:

public class Program
{
    public static void Main(string[] args)
    {
        var host = BuildWebHost(args);

        host.Run();
    }

    // Tools will use this to get application services
    public static IWebHost BuildWebHost(string[] args) =>
        new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();
} 
公共类程序
{
公共静态void Main(字符串[]args)
{
var host=BuildWebHost(args);
host.Run();
}
//工具将使用它来获取应用程序服务
公共静态IWebHost BuildWebHost(字符串[]args)=>
新WebHostBuilder()
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.Useii整合()
.UseStartup()
.Build();
}