Beispiel #1
0
        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;
 }