/// <summary> /// 请在UseConnectionString配置后调用此方法 /// </summary> /// <param name="this"></param> /// <returns></returns> public static FreeSqlBuilder CreateDatabaseIfNotExists(this FreeSqlBuilder builder) { FieldInfo dataTypeFieldInfo = builder.GetType().GetField("_dataType", BindingFlags.NonPublic | BindingFlags.Instance); if (dataTypeFieldInfo is null) { throw new ArgumentException("_dataType is null"); } string connectionString = GetConnectionString(builder); DataType dbType = (DataType)dataTypeFieldInfo.GetValue(builder); switch (dbType) { case DataType.MySql: return(builder.CreateDatabaseIfNotExistsMySql(connectionString)); case DataType.SqlServer: return(builder.CreateDatabaseIfNotExistsSqlServer(connectionString)); case DataType.PostgreSQL: break; case DataType.Oracle: break; case DataType.Sqlite: return(builder); case DataType.OdbcOracle: break; case DataType.OdbcSqlServer: break; case DataType.OdbcMySql: break; case DataType.OdbcPostgreSQL: break; case DataType.Odbc: break; case DataType.OdbcDameng: break; case DataType.MsAccess: break; case DataType.Dameng: break; case DataType.OdbcKingbaseES: break; case DataType.ShenTong: break; case DataType.KingbaseES: break; case DataType.Firebird: break; default: break; } Log.Error($"不支持创建数据库"); return(builder); }