У меня есть небольшое приложение MVC, которое подключается к одной базе данных MYSQL.Я настроил его с помощью Ninject, чтобы связать connectionString во время запуска приложения.Код выглядел так:
Global.asax.cs:
protected void Application_Start()
{
...
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
}
NinjectControllerFactory.cs:
public class NinjectControllerFactory : DefaultControllerFactory
{
...
private class EriskServices : NinjectModule
{
public override void Load()
{
// Bind all the Repositories
Bind<IRisksRepository>().To<MySql_RisksRepository>()
.WithConstructorArgument("connectionString",
ConfigurationManager.ConnectionStrings["dbcMain"]
.ConnectionString);
}
}
}
Сегодня мои требования изменились, и я должен сейчасподдержка нескольких баз данных.Я хотел бы, чтобы каждая строка подключения к базе данных была определена в файле web.config, как это было раньше.Пользователь выбирает, к какой базе данных он хочет подключиться во время входа в приложение.
Какой самый простой способ привязать мои репозитории после входа в систему?Я предполагаю, что мне нужно будет кодировать привязку базы данных в контроллере входа в систему.
Я новичок в Ninject, поэтому любые примеры будут высоко цениться!
Как всегда, спасибо завремя и помощь!.