protected override void ConfigureContainer() { base.ConfigureContainer(); Container.RegisterType <ILogger, Logger>(new ContainerControlledLifetimeManager()); RepositoryInitializer.Initialize(Container, () => PathHelper.AppDataFolderPath); DomainServicesInitializer.Initialize(Container); }
/// <summary> /// 初始化数据库。 /// </summary> /// <param name="host">已经创建的应用程序宿主环境。</param> private static void InitializeDatabase(IWebHost host) { _logger.Trace("初始化数据库..."); using (var serviceScope = host.Services.CreateScope()) { var repo = serviceScope.ServiceProvider.GetService <Repository>(); var repoInitializer = new RepositoryInitializer( repo, serviceScope.ServiceProvider.GetService <ILogger <RepositoryInitializer> >()); try { repoInitializer.Initialize(); repoInitializer.Seed(); } catch (Exception ex) { _logger.Error("初始化数据库失败:{0}:{1}", ex.GetType(), ex.Message); throw; } } }