La .NET CONF 2024 acaba de terminar. Descubre las NOVEDADES de .NET 9 junto a los CAMBIOS que trae C# 13.

Conectarse a una base de datos con EF core

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.

 

 

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

 


Uso del bloqueador de anuncios adblock

Hola!

Primero de todo bienvenido a la web de NetMentor donde podrás aprender programación en C# y .NET desde un nivel de principiante hasta más avanzado.


Yo entiendo que utilices un bloqueador de anuncios como AdBlock, Ublock o el propio navegador Brave. Pero te tengo que pedir por favor que desactives el bloqueador para esta web.


Intento personalmente no poner mucha publicidad, la justa para pagar el servidor y por supuesto que no sea intrusiva; Si pese a ello piensas que es intrusiva siempre me puedes escribir por privado o por Twitter a @NetMentorTW.


Si ya lo has desactivado, por favor recarga la página.


Un saludo y muchas gracias por tu colaboración

© copyright 2024 NetMentor | Todos los derechos reservados | RSS Feed

Buy me a coffee Invitame a un café