I add appsettings.json in order to get connection string but I cannot get my connection string. Here is my code.
public class MovieTheaterDBContextFactory : IDesignTimeDbContextFactory<MovieTheaterDBContext>
{
public MovieTheaterDBContext CreateDbContext(string []Args)
{
IConfigurationRoot configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.Build();
var ConnectionString = configuration.GetConnectionString("MovieTheaterDBContext");
//var ConnectionString = "Server=DESKTOPM4\\SQLEXPRESS;Database=MovieTheaterManagerment;Trusted_Connection=True;";
var optionsBuilder = new DbContextOptionsBuilder<MovieTheaterDBContext>();
optionsBuilder.UseSqlServer(ConnectionString);
return new MovieTheaterDBContext(optionsBuilder.Options);
}
}
appsettings.json:
{
"ConnectionStrings":
{
"MovieTheaterDBContext": "Server=DESKTOPM4\\SQLEXPRESS;Database=EshopSolution;Trusted_Connection=True;"
}
}
Update: It is my mistake, I have not set this project as startup project .So it can't find appsettings.json.
.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)or variant: stackoverflow.com/a/60199695/495455MovieTheaterDBContextFactorymethod?