Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

122
Vistas
Entity Framework Core sobre un clúster de AWS Aurora PostgreSQL con un nodo de escritura/lectura y un nodo de solo lectura

Tengo una API Gateway que ejecuta .NET Core que actúa como proxy de las funciones de AWS Lambda. Con Entity Framework Core, estas funciones de Lambda se comunican con un clúster RDS de AWS Aurora PostgreSQL. El clúster contiene un nodo de lectura/escritura y un nodo de solo lectura.

Durante la configuración de EF Core, primero usé la base de datos para el scaffolding, lo que funcionó bien. El andamiaje se realizó fuera de la instancia de lectura/escritura del clúster, y la instancia de lectura y escritura es a lo que se hace referencia en la cadena de conexión de contexto en la clase DatabaseContext resultante.

Sin embargo, tengo algunos métodos API de lectura intensiva (y las funciones Lambda resultantes) que me gustaría señalar específicamente a mi nodo de solo lectura (que tiene una replicación de subsegundos desde el nodo de lectura/escritura administrado automáticamente por AWS). Sin embargo, no tengo idea de cómo configurar esto en mi implementación de EF Core. Soy un principiante con EF Core, por lo que estoy muy feliz de tenerlo funcionando con un nodo. ¿Cómo configuro las cosas en mi aplicación .NET Core para poder especificar algunas consultas para ir al nodo de solo lectura? El nodo de solo lectura tiene exactamente el mismo esquema y objetos.

Si trato de hacer un andamio de base de datos primero usando el andamio de contexto db a través de EF Core CLI pero apunto al nodo de solo lectura, ¿funcionará? ¿O fracasar miserablemente? ¿Hay algún tipo de forma específica en la que debería configurar esto? ¿O debería evitar EF Core para el nodo de solo lectura y simplemente usar algo como Dapper o SqlKata para realizar las consultas de solo lectura y mantener sus propias conexiones, etc.?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Suponiendo que su contexto se llame DbContext , extiéndalo así:

 public class RwDbContext : DbContext {} public class RoDbContext : DbContext {}

Y luego, en Startup.cs registre estos contextos y apúntelos a diferentes cadenas de conexión:

 public void ConfigureServices(IServiceCollection services) { services.AddDbContext<RwDbContext>(options => options.UseNpgsql(Configuration.GetConnectionString("RwDbContext"))); services.AddDbContext<RoDbContext>(options => options.UseNpgsql(Configuration.GetConnectionString("RoDbContext"))); }

También agregue la cadena de conexión a su appsettings.json :

 { "ConnectionStrings": { "RwDbContext": "Host=rwdb;...", "RoDbContext": "Host=rodb;..." } }

Ahora puede usar RoDbContext para leer y RwDbContext para escribir.

Pero al interactuar con dotnet ef , debe usar la --context <DBCONTEXT> para apuntarlo al contexto R/W de ahora en adelante.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda