Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

131
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda