/// <summary> /// 获取当前正在使用的数据库. /// </summary> /// <returns></returns> private string GetUsingDatabase() { DatabaseCollection dbCollection = httpContext.RequestServices.GetService(typeof(DatabaseCollection)) as DatabaseCollection; if (dbCollection == null) { return(string.Empty); } return(dbCollection.CurrentDbType); }
/// <summary> /// 配置数据库. /// </summary> /// <param name="services"></param> private void ConfigureDatabase(IServiceCollection services) { DatabaseCollection database = new DatabaseCollection(); IConfigurationSection section = Configuration.GetSection("Database").GetSection("SQLServer"); database.UseSqlserver(section.GetValue <string>("ConnectionString"), section.GetValue <int>("ConnectionPool", 0)); section = Configuration.GetSection("Database").GetSection("MySQL"); database.UseMySql(section.GetValue <string>("ConnectionString"), section.GetValue <int>("ConnectionPool", 0)); section = Configuration.GetSection("Database").GetSection("PostgreSQL"); database.UsePostgreSQL(section.GetValue <string>("ConnectionString"), section.GetValue <int>("ConnectionPool", 0)); section = Configuration.GetSection("Database").GetSection("SQLite3"); string sqliteConnectionString = section.GetValue <string>("ConnectionString"); sqliteConnectionString = sqliteConnectionString.Replace("{contentroot}", hostEnvironment.ContentRootPath); database.UseSQLite3(sqliteConnectionString); database.SetActive("sqlite3"); services.AddSingleton <DatabaseCollection>(database); }