我想在控制器中更改sql连接字符串,而不是在ApplicationDbContext中.我正在使用Asp.Net Core和Entity Framework Core.
例如:
public class MyController : Controller {
private readonly ApplicationDbContext _dbContext
public MyController(ApplicationDbContext dbContext)
{
_dbContext = dbContext;
}
private void ChangeConnectionString()
{
// So, what should be here?
} }
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我需要帮助来获取我的应用程序的主机/域名和端口。
到目前为止,这是我的Configure方法中的示例代码Startup.cs:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var url = ""; // something that will get the current host/domain and port of the running applicaiton.
RecurringJob.AddOrUpdate<ISomething>(i=>i.SomethingToExecute(url), Cron.Daily);
}
Run Code Online (Sandbox Code Playgroud)
因为我需要将url字符串传递给我的SomethingToExecute方法
public class Something : ISomething
{
public void SomethingToExecute(string url){
...
Debug.WriteLine(url)
}
}
Run Code Online (Sandbox Code Playgroud) 我想从控制器配置连接字符串,但我没有找到任何函数来执行此操作。
我有:
public class tstController : Controller
{
private readonly contextTst _context;
public tstController(contextTst context)
{
_context = context;
_context.Database.**????**
}
}
Run Code Online (Sandbox Code Playgroud)
这是可能的?
多谢!