I have ASP.NET Core 1.1 project, which I'm trying to convert to v2.1. I've found IDesignTimeDbContextFactory
implementation, but I don't understand where I should create the instance of this factory and how to use it for migrations normal working. Now before create/remove migration I must clean and rebuild solution, because if not, I will get this message: Unable to create an object of type 'MyDbContext'. Add an implementation of 'IDesignTimeDbContextFactory<MyDbContext>' to the project, or see https://go.microsoft.com/fwlink/?linkid=851728 for additional patterns supported at design time
. All context data is in separated project. How to use IDesignTimeDbContextFactory
implementation or what am I doing wrong?
Add this class to folder where you have your DbContext.
public class MyDbContextFactory : IDesignTimeDbContextFactory<MyDbContext>
{
MyDbContext IDesignTimeDbContextFactory<MyDbContext>.CreateDbContext(string[] args)
{
IConfigurationRoot configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build();
var builder = new DbContextOptionsBuilder<MyDbContext>();
var connectionString = configuration.GetConnectionString("DefaultConnection");
builder.UseSqlServer(connectionString);
return new MyDbContext(builder.Options);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With