This commit is contained in:
2025-04-30 09:51:36 +08:00
parent 561881c9aa
commit 09afa239a6
848 changed files with 385870 additions and 205 deletions

View File

@@ -0,0 +1,54 @@
namespace Yes.Infrastructure.Data.ConnectionStringBuilders
{
public class ConnectionStringBuilderFactory
{
public static IConnectionStringBuilder CreateStringBuilder(DatabaseTypeEnum databaseType)
{
switch (databaseType)
{
case DatabaseTypeEnum.SqlServer:
return new SqlConnectionStringBuilder();
case DatabaseTypeEnum.MySql:
return new MySqlConnectionStringBuilder();
case DatabaseTypeEnum.PostgreSQL:
return new NpgsqlConnectionStringBuilder();
default:
throw new DatabaseNotSupportedException();
}
}
public static IConnectionStringBuilder CreateStringBuilder(DatabaseTypeEnum databaseType, string connectionString)
{
switch (databaseType)
{
case DatabaseTypeEnum.SqlServer:
return new SqlConnectionStringBuilder(connectionString);
case DatabaseTypeEnum.MySql:
return new MySqlConnectionStringBuilder(connectionString);
case DatabaseTypeEnum.PostgreSQL:
return new NpgsqlConnectionStringBuilder(connectionString);
default:
throw new DatabaseNotSupportedException();
}
}
public static IConnectionStringBuilder CreateStringBuilder(DatabaseTypeEnum databaseType, string dataSource, string database, string userId, string password)
{
switch (databaseType)
{
case DatabaseTypeEnum.SqlServer:
return new SqlConnectionStringBuilder(dataSource, database, userId, password);
case DatabaseTypeEnum.MySql:
return new MySqlConnectionStringBuilder(dataSource, database, userId, password);
case DatabaseTypeEnum.PostgreSQL:
return new NpgsqlConnectionStringBuilder(dataSource, database, userId, password);
default:
throw new DatabaseNotSupportedException();
}
}
}
}