tgstation-server
The /tg/station 13 server suite
DatabaseConnectionFactory.cs
Go to the documentation of this file.
1 using System;
2 using System.Data.Common;
3 using System.Data.SqlClient;
4 using Microsoft.Data.Sqlite;
5 using MySql.Data.MySqlClient;
7 
9 {
12  {
14  public DbConnection CreateConnection(string connectionString, DatabaseType databaseType)
15  {
16  if (connectionString == null)
17  throw new ArgumentNullException(nameof(connectionString));
18 
19  switch (databaseType)
20  {
21  case DatabaseType.MariaDB:
22  case DatabaseType.MySql:
23  return new MySqlConnection
24  {
25  ConnectionString = connectionString
26  };
27  case DatabaseType.SqlServer:
28  return new SqlConnection
29  {
30  ConnectionString = connectionString
31  };
32  case DatabaseType.Sqlite:
33  return new SqliteConnection
34  {
35  ConnectionString = connectionString
36  };
37  default:
38  throw new ArgumentOutOfRangeException(nameof(databaseType), databaseType, "Invalid DatabaseType!");
39  }
40  }
41  }
42 }
DbConnection CreateConnection(string connectionString, DatabaseType databaseType)
Create a DbConnection
DatabaseType
Type of database to user
Definition: DatabaseType.cs:6