I have two databases now. One is nopCommerce's database, another is mine. Because I have some special tables and it is used by another website.
How can I access two databases in the same time?
Thanks.
Version: 4.10
#region Data
////data layer
var DataSettingsFilePath = "~/App_Data/windalert.json";
DataSettingsFilePath = DataSettingsFilePath.Replace("~/", "").TrimStart('/').Replace('/', '\\');
//var fileProvider = EngineContext.Current.Resolve<INopFileProvider>();
//var windalertFilePath = fileProvider.MapPath(DataSettingsFilePath);
//data layer
var dataSettingsManager = new DataSettingsManager();
var dataProviderSettings = dataSettingsManager.LoadSettings(DataSettingsFilePath, true);
if (dataProviderSettings != null && dataProviderSettings.IsValid())
{
//register named context
//register named context
builder.Register<IDbContext>(c => new WindAlertObjectContext(dataProviderSettings.DataConnectionString))
.Named<IDbContext>("nop_object_context_windalert")
.InstancePerLifetimeScope();
builder.Register(c => new WindAlertObjectContext(dataProviderSettings.DataConnectionString))
.InstancePerLifetimeScope();
}
else
{
//register named context
builder.Register<IDbContext>(c => new WindAlertObjectContext(c.Resolve<DataSettings>().DataConnectionString))
.Named<IDbContext>("nop_object_context_windalert")
.InstancePerLifetimeScope();
builder.Register(c => new WindAlertObjectContext(c.Resolve<DataSettings>().DataConnectionString))
.InstancePerLifetimeScope();
}
//override required repository with our custom context
builder.RegisterType<EfRepository<WindData>>()
.As<IRepository<WindData>>()
.WithParameter(ResolvedParameter.ForNamed<IDbContext>("nop_object_context_windalert"))
.InstancePerLifetimeScope();
builder.RegisterType<EfRepository<WaveData>>()
.As<IRepository<WaveData>>()
.WithParameter(ResolvedParameter.ForNamed<IDbContext>("nop_object_context_windalert"))
.InstancePerLifetimeScope();
builder.RegisterType<EfRepository<ForecastData>>()
.As<IRepository<ForecastData>>()
.WithParameter(ResolvedParameter.ForNamed<IDbContext>("nop_object_context_windalert"))
.InstancePerLifetimeScope();
builder.RegisterType<EfRepository<MagicData>>()
.As<IRepository<MagicData>>()
.WithParameter(ResolvedParameter.ForNamed<IDbContext>("nop_object_context_windalert"))
.InstancePerLifetimeScope();
#endregion