Esempio n. 1
0
        public static void SetDatabaseConnection(this DbContextOptionsBuilder dbContextOptionsBuilder, IConfiguration config)
        {
            if (!dbContextOptionsBuilder.IsConfigured)
            {
                var connectionString = DbConnectionManager.ConnectionString(config);
                switch (DbConnectionManager.DatabasePlatformName(config))
                {
                case "InMemory":
                    dbContextOptionsBuilder.UseInMemoryDatabase(databaseName: connectionString);
                    break;

                case "Npgsql":
                    dbContextOptionsBuilder.UseNpgsql(connectionString);
                    break;

                case "Sqlite":
                    dbContextOptionsBuilder.UseSqlite(connectionString);
                    break;

                case "SqlServer":
                    dbContextOptionsBuilder.UseSqlServer(connectionString);
                    break;

                default:
                    dbContextOptionsBuilder.UseInMemoryDatabase(databaseName: connectionString);
                    break;
                }
            }
        }
        public static void ConfigureRepositoryContext(this IServiceCollection services, IConfiguration config)
        {
            var databaseConnectionString = DbConnectionManager.ConnectionString(config);

            switch (DbConnectionManager.DatabasePlatformName(config))
            {
            case "InMemory":
                services.AddDbContext <SchoolMachineContext>
                    (options => options.UseInMemoryDatabase(databaseName: databaseConnectionString));
                break;

            case "Npgsql":
                services
                .AddEntityFrameworkNpgsql()
                .AddDbContext <SchoolMachineContext>(options => options.UseNpgsql(databaseConnectionString));
                break;

            case "Sqlite":
                services.AddDbContext <SchoolMachineContext>
                    (options => options.UseSqlite(databaseConnectionString));
                break;

            case "SqlServer":
                services.AddDbContext <SchoolMachineContext>
                    (options => options.UseSqlServer(databaseConnectionString));
                break;

            default:
                services.AddDbContext <SchoolMachineContext>
                    (options => options.UseInMemoryDatabase(databaseName: databaseConnectionString));
                break;
            }
        }