es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Net 6 Multiple Connection Strings Net 6 Múltiples Cadenas de Conexión

Cómo configurar en Net 6 program.cs múltiples cadenas de conexión?
Deseo trabajar con entornos de desarrollo, puesta en escena (staging) y producción, todos ellos apuntando a servidores de bases de datos diferentes.

NET 6. Program.cs:

builder.Services.AddDbContext<mycontext>(options =>
{
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"));

});

Gracias de antemano.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para configurar varias cadenas de conexión en Net 6 Program.cs , deberá modificar el código en el método ConfigureServices del archivo Startup.cs . Aquí hay un ejemplo:

    public void ConfigureServices(IServiceCollection services)
    {
        // Agregar cadenas de conexión para diferentes entornos
        services.AddDbContext<mycontext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DevelopmentConnection"))
                .EnableSensitiveDataLogging()
                .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking));
    
        services.AddDbContext<mycontext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("StagingConnection"))
                .EnableSensitiveDataLogging()
                .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking));
    
        services.AddDbContext<mycontext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("ProductionConnection"))
                .EnableSensitiveDataLogging()
                .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking));
    
       // Otros registros de servicios      
    }
    

    En este ejemplo, estamos agregando tres instancias diferentes del DbContext MyContext, cada una con una cadena de conexión diferente llamada DevelopmentConnection, StagingConnection y ProductionConnection.

    Para utilizar una cadena de conexión específica, deberá pasar el nombre de la cadena de conexión al método GetConnectionString. Por ejemplo:

    options.UseSqlServer(builder.Configuration.GetConnectionString("DevelopmentConnection"));
    

    Esto utilizaría la cadena de conexión DevelopmentConnection para la conexión a la base de datos.

    Tenga en cuenta que deberá configurar las cadenas de conexión en sus archivos appsettings.json o appsettings.{environment}.json, dependiendo del entorno.

Comments are closed.