/// <summary> /// 获取指定的数据库连接配置。 /// </summary> /// <param name="dataSrcCode">数据库连接配置Code。</param> /// <returns>指定的数据库连接配置。</returns> public static GSPDbConfigData GetConfiguration(string dataSrcCode) { //DataValidator.CheckForEmptyString(dataSrcCode, "dataSrcCode"); //if (DbConfigurations.ConnectionConfigurations.Contains(dataSrcCode)) // return DbConfigurations.ConnectionConfigurations.Get(dataSrcCode); //else //{ // //根据dataSrcCode找不到,尝试改变大小写再取 // foreach (var item in DbConfigurations.ConnectionConfigurations) // { // if (item.Code.Equals(dataSrcCode, StringComparison.InvariantCultureIgnoreCase)) // { // return item; // } // } //} if (string.IsNullOrWhiteSpace(dataSrcCode)) { throw new ArgumentException("数据库编号dataSrcCode"); } return(DbConfigurations.GetConfigurationByCode(dataSrcCode));; }
public IdentityAdapter( SignInManager <DALUserAccount> signInManager, UserManager <DALUserAccount> userManager, DbConfigurations dbConfigurations) : base(signInManager) { _signInManager = signInManager; _userManager = userManager; _dbConfigurations = dbConfigurations; }
public static IServiceCollection AddDatabaseLibrary(this IServiceCollection services) { DbConfigurations configurations = new DbConfigurations(); services.AddDbContext <ApplicationDbContext>(options => options.UseSqlServer(configurations.SqlConnectionString, options => options.MigrationsAssembly("MTS.BL.API"))); services.Configure <IdentityOptions>(options => options = configurations.IdentityOptions); services .AddIdentity <DALUserAccount, IdentityRole>() .AddEntityFrameworkStores <ApplicationDbContext>() .AddDefaultTokenProviders() .AddRoles <IdentityRole>(); services .AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, options => { options.RequireHttpsMetadata = false; options.SaveToken = true; options.Audience = "MTS-Audience"; options.TokenValidationParameters = configurations.TokenValidationParameters; }); services.Configure <AuthMessageSenderOptions>(configurations.AuthMessageSenderOptions); services.AddSingleton <IEmailSender, EmailSender>(); services.AddSingleton <ISeedData, SeedData>(); services.AddTransient <IAccountAdapter, AccountAdapter>(); services.AddTransient <IIdentityAdapter, IdentityAdapter>(); services.AddTransient <IEditPageAdapter, EditPagesAdapter>(); services.AddSingleton <DbConfigurations>(); return(services); }
public static ISessionFactory Create(DbConfigurations dbConfigurations) { NHibernateLogger.SetLoggersFactory(new SerilogLoggerFactory()); if (dbConfigurations.UseNodaTime) { NpgsqlConnection.GlobalTypeMapper.UseNodaTime(); } var dbConfigurations1 = dbConfigurations; var persistenceCfg = PostgreSQLConfiguration.Standard .Provider <global::NHibernate.Connection.DriverConnectionProvider>() .Dialect <PostgreSQL83Dialect>() .Driver <NpgsqlDriverExtended>() .ConnectionString(dbConfigurations1.ConnectionString); if (dbConfigurations.UseNetTopologySuite) { NpgsqlConnection.GlobalTypeMapper.UseRawPostgis(); persistenceCfg.Dialect <global::NHibernate.Spatial.Dialect.PostGis20Dialect>(); } var cfg = Fluently.Configure() .Database(persistenceCfg) .Mappings(x => { dbConfigurations1.EntityTypeAssemblies.ForEach(y => x.FluentMappings.AddFromAssembly(y)); x.FluentMappings.Conventions.Setup(y => y.Add(AutoImport.Never())); if (dbConfigurations.UseNodaTime) { x.FluentMappings.Conventions.Add <NodaTimeConventions>(); } if (dbConfigurations.UseNetTopologySuite) { x.FluentMappings.Conventions.Add <PostGisConventions>(); } x.FluentMappings.Conventions.Add <GeneralConventions>(); x.FluentMappings.Conventions.Add <ListConventions>(); x.FluentMappings.Conventions.Add <RangeConventions>(); x.FluentMappings.Conventions.Add <JsonConventions>(); }) .ExposeConfiguration(x => { if (!string.IsNullOrWhiteSpace(dbConfigurations.SchemaExportFilename)) { new SchemaExport(x).Execute(script => File.AppendAllText(dbConfigurations.SchemaExportFilename, script), false, false); } }) .BuildConfiguration(); if (dbConfigurations.UseNetTopologySuite) { cfg.AddAuxiliaryDatabaseObject(new SpatialAuxiliaryDatabaseObject(cfg)); Metadata.AddMapping(cfg, MetadataClass.GeometryColumn); Metadata.AddMapping(cfg, MetadataClass.SpatialReferenceSystem); } return(cfg.BuildSessionFactory()); }
/// <summary> /// 获取默认的数据库连接配置。 /// </summary> /// <returns>指定的数据库连接配置。</returns> public static GSPDbConfigData GetDefaultConfiguration() { return(DbConfigurations.GetDefaultConfiguration()); }