public static IServiceCollection AddSessionFactoryProvider(this IServiceCollection services, Configuration cfg, string key) { bool boolFirstService = false; if (configProvider == null) { boolFirstService = true; } AddConfigurationProvider(services); configProvider.SetConfiguration(cfg, key); if (boolFirstService) { services.AddSingleton(provider => { var cfgProvider = provider.GetService <ISessionFactoryProvider>(); return(cfgProvider.GetConfiguration(key)); }); AddNHibernate(services, cfg); } return(services); }