En post anteriores he indicado que el uso de Entity Framework es el mismo utilizando la base de datos que utilices, lo único que cambia es la forma en la que creamos la conexión.
Cada una de las bases de datos que vamos a utilizar, tienen paquetes Nuget específicos para cada uno de ellos.
Para todos los casos, la información se añade junto con la instrucción AddDbcontext para el contenedor de dependencias.
Índice
- 1 - Conectarse a MySQL con Entity Framework Core
- 2 - Conectarse a SQL Server con Entity Framework Core
- 3 - Conectarse a Postgre SQL con Entity Framework Core
- 4 - Conectarse a SQLite con Entity Framework Core
- 5 - Conectarse a Azure Cosmos DB con Entity Framework Core
- 6 - Conectarse a Oracle con Entity Framework Core
- Conclusión
1 - Conectarse a MySQL con Entity Framework Core
MySQL es la base de datos de este curso. De hecho, es la que uso normalmente en mi día a día para mis proyectos personales.
Para este ejemplo voy a poner la URL hardcoded, pero por supuesto la puedes coger de la configuración utilizando el patrón opciones.
en el caso de MySQL necesitamos el paquete MySql.EntityFrameworkCore
y simplemente utilizar el método UseMySQL
:
services.AddDbContext<CursoEfContext>(options=>
options.UseMySQL("server=127.0.0.1;port=4306;database=cursoEF;user=root;password=cursoEFpass"));
2 - Conectarse a SQL Server con Entity Framework Core
Una de las bases de datos más utilizadas cuando estamos en .NET es la propia de Microsoft, Microsoft SQL server. Para conectarnos tenemos que instalar el paquete Microsoft.EntityFrameworkCore.SqlServer
y únicamente utilizamos el método UseSqlServer
:
services.AddDbContext<CursoEfContext>(options=>
options.UseSqlServer(configuration.GetConnectionString("SQLServerConnection")));
3 - Conectarse a Postgre SQL con Entity Framework Core
Después de MySQL posiblemente postgreSQL sea la opción open source más popular de todas. Para conectarnos instalamos el paquete Npgsql.EntityFrameworkCore.PostgreSQL
y utilizamos el método UseNpgsql
:
services.AddDbContext<CursoEfContext>(options=>
options.UseNpgsql(configuration.GetConnectionString("PostgreSQLConnection")));
4 - Conectarse a SQLite con Entity Framework Core
Otra opción open source muy popular, especialmente en proyectos pequeños o hobbies es SQLite, para conectarnos utilizaremos el paquete Microsoft.EntityFrameworkCore.Sqlite
y utilizamos el método UseSqlite
:
services.AddDbContext<CursoEfContext>(options=>
options.UseSqlite(configuration.GetConnectionString("SqLiteConnection")));
5 - Conectarse a Azure Cosmos DB con Entity Framework Core
Llegamos a la nube, en este caso a Azure y su base de datos CosmosDB, para conectarnos uilizaremos el paquete Microsoft.EntityFrameworkCore.Cosmos
y el método UseCosmos
:
services.AddDbContext<CursoEfContext>(options=>
options.UseCosmos(configuration.GetConnectionString("AzureCosmosConnection"), "dbName"));
Nota: En AWS, tanto Aurora como RDS utilizan otras bases de datos por detrás, por lo que tienes que utilizar dicha conexión, por ejemplo si usas MySQL tienes que utilizar `UseMySQL`, etc.
6 - Conectarse a Oracle con Entity Framework Core
Finalmente la base de datos que no está muerta, está de parranda, Oracle. Para conectarnos utilizaremos la el paquete Oracle.EntityFrameworkCore
y el método UseOracle
:
services.AddDbContext<CursoEfContext>(options=>
options.UseOracle(configuration.GetConnectionString("OracleConnection")));
Conclusión
En este post hemos visto cómo conectarnos a diferentes bases de datos de una forma muy sencilla cuando utilizamos Entity Framework Core