public static IServiceCollection AddConnectionProvider(this IServiceCollection services, IConfiguration configuration) { string connection = string.Empty; DBConnectionEnum dBConnectionType = DBConnectionEnum.SQLServer; if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { if (configuration.GetConnectionString("Sqlite") != null) { connection = GetConnection().ConnectionString; dBConnectionType = DBConnectionEnum.SQLite; CreateDb(); } else if (configuration.GetConnectionString("SQLServerWindows") != null) { connection = configuration.GetConnectionString("SQLServerWindows"); } else { throw new ArgumentException("Database string not configured"); } } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) || RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { connection = configuration.GetConnectionString("SQLServerDocker") ?? "Server=localhost,1433;Database=Chinook;User=sa;Password=Pa55w0rd;Trusted_Connection=False;Application Name=ChinookASPNETCoreAPINTier"; } services.AddSingleton(new DbInfo(connection, dBConnectionType)); return(services); }
public DbInfo(string connectionStrings, DBConnectionEnum dbConnectionType) { ConnectionStrings = connectionStrings; DBConnectionType = dbConnectionType; }