Aplicación ASP.NET Core MVC que integra dos bases de datos relacionales distintas utilizando dos DbContext independientes.
MultiDbMvcDemo es una aplicación desarrollada en ASP.NET Core MVC (.NET 8) que demuestra cómo consumir y gestionar información desde dos motores de base de datos diferentes dentro de un mismo proyecto:
- SQL Server → Tabla
Pedido - MySQL → Tabla
DetallePedido
El proyecto implementa dos DbContext separados, cada uno configurado con su proveedor correspondiente en Entity Framework Core 8.
El objetivo principal es demostrar la integración multi-base de datos en una arquitectura MVC moderna.
La aplicación sigue el patrón MVC:
- Models → Representan las entidades de negocio.
- Controllers → Gestionan la lógica y el acceso a datos.
- Views → Renderizan la información.
- Data → Contiene los DbContext y configuración de base de datos.
Se utilizan dos contextos independientes:
SqlServerContext→ Gestiona la tablaPedidoMySqlContext→ Gestiona la tablaDetallePedido
Cada contexto utiliza su propio proveedor EF Core.
Demostrar:
- Configuración de múltiples DbContext
- Integración de distintos motores relacionales
- Uso de EF Core con proveedores diferentes
- Arquitectura MVC aplicada a escenarios multi-base de datos
- Consolidación de información en una sola vista
Controllers/
Models/
Data/
Views/
wwwroot/
appsettings.json
Program.cs
Tabla: Pedido
- Id (int)
- ClienteNombre (nvarchar)
- Fecha (datetime)
Tabla: DetallePedido
- Id (int)
- PedidoId (int)
- Producto (varchar)
- Cantidad (int)
- Precio (decimal)
- El cliente realiza una solicitud HTTP.
- El
HomeControllerrecibe la petición. - El controlador consulta:
- SQL Server mediante
SqlServerContext. - MySQL mediante
MySqlContext.
- SQL Server mediante
- Se combinan los datos en un ViewModel.
- La vista muestra la información consolidada.
El diagrama representa la arquitectura híbrida del sistema:
- El cliente interactúa con la aplicación ASP.NET Core MVC.
- El controlador centraliza la lógica de negocio.
- Los datos de Pedido se obtienen desde SQL Server.
- Los datos de DetallePedido se obtienen desde MySQL.
- Ambos resultados se combinan en un ViewModel.
- Finalmente, la vista renderiza la información unificada.
Esto demuestra cómo una sola aplicación puede conectarse y consumir múltiples motores relacionales usando distintos proveedores EF Core sin conflictos.
- ASP.NET Core MVC (.NET 8)
- Entity Framework Core 8
- Microsoft.EntityFrameworkCore.SqlServer (v8)
- Pomelo.EntityFrameworkCore.MySql (v8)
- SQL Server
- MySQL
- Git
- GitHub
Jeurys José Durán Beato - A00115777
Bladimir Ventura - A00115757
Ángel Javier Barrientos - A00115984
Miguel José Saint Hilaire Peña - A00116662
Sean Alcántara Carrera - A00115911