Я пытаюсь создать общий уровень данных для подключения ко всей общей базе данных. Поэтому я начал с создания класса DbFactory
.Общие идеи реализации DbFactory
Что я должен делать, создавая эту фабрику, такую как масштабируемость, производительность, безопасность, объединение пулов и повторное использование. Пожалуйста, порекомендуйте.
Вот что я начал:
public class DbFactory
{
private DbConnection _dbConnection;
public DbConnection GetDbConnection(DbType type)
{
switch (type)
{
case (DbType.Oracle):
_dbConnection = new OracleConnection();
break;
case (DbType.SqlServer):
_dbConnection = new SqlConnection();
break;
case (DbType.Excel):
_dbConnection = new OleDbConnection();
break;
case (DbType.Other):
_dbConnection = new OdbcConnection();
break;
default:
_dbConnection = new OdbcConnection();
break;
}
return _dbConnection;
}
public enum DbType
{
SqlServer,
Oracle,
Excel,
Other
}
}
Я предлагаю вам взглянуть на DbProviderFactories: https://msdn.microsoft.com/en-us/library/dd0w4a2z(v=vs.110).aspx – Joe