我认为EF实际上从2.0开始启动应用程序生成迁移。您需要将DesignTimeDbContextFactory添加到项目中,该项目将查询此用例的连接字符串,例如:
public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<StorageContext>
{
public StorageContext CreateDbContext(string[] args)
{
IConfigurationRoot configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false)
.AddJsonFile("appsettings.Development.json", optional: true)
.Build();
var builder = new DbContextOptionsBuilder<StorageContext>();
var connectionString = configuration.GetConnectionString("DefaultConnection");
builder.UseSqlServer(connectionString);
Console.WriteLine($"Running DesignTime DB context. ({connectionString})");
return new StorageContext(builder.Options);
}
}