Qué es Entity Framework Core?

09 Feb 2023 10 min (0) Comentarios

Ya llevo un tiempo queriendo hacer un curso sobre EF ya que desde las versiones de .NET 6 ha mejorado bastante. Así que sirva este post como introducción a Entity Framework Core.

 

 

1- Qué es Entity Framework Core

Entity framework Core es una librería creada por Microsoft que nos permite acceder a las bases de datos, principalmente relacionales, de una forma muy simple. 

 

La gran ventaja de Entity Framework Core es que es muy simple y amigable, ya que nos permite utilizar código en vez de SQL directamente. Además es compatible con la librería LINQ,aunque cuidado con hacer cosas locas con LINQ que es donde vemos reflejados los posibles problemas de rendimiento.

 

Por supuesto al ser una librería que está tan aceptada en el mercado tiene funcionalidades muy potentes como por ejemplo, soporte para la concurrencia, soporte para transacciones, caché, o lo que he mencionado antes de utilizar código en vez de SQL también se utilizan entidades como representaciones de las tablas. 

 

Finalmente nos permite elegir el tipo de estructura o de desarrollo que queremos hacer, ya sea a través de code First o de Database first; sobre ambos escenarios veremos ejemplos en el Curso.

 

1.1 - Cuándo utilizar Entity Framework Core

Yo personalmente siempre he sido muy reacio a utilizar Entity Framework, debido a los problemas de rendimiento que tenía a la hora de montar las consultas.Pero Desde la versión de .NET 6 han mejorado muchísimo, y en esta última de .NET 7, está prácticamente al nivel de dapper, que era el ORM que yo siempre he usado. 

 

Aquí tienes un post sobre que es un ORM y Dapper

 

Hoy en día recomiendo utilizar Entity Framework Core, quizá no siempre, pero en el 99% de las ocasiones, ya que salvo en quieres complejas, la “versión por defecto” de Entity framework nos la hace bien, además le podemos pasar SQL literales.

 

1.2 - Diferencia entre Entity Framework y entity framework core

 

la diferencia entre Entity Framework y entity framework core es simplemente que Entity framework está ligada a .NET Framework, mientras que Entity Framework core está ligada a .NET o .NET core, además de está última ser más ligera, y recibir las actualizaciones más recientes.

 

El tema del naming de microsoft no es el más acertado, y es bastante confuso, aquí tienes un post donde lo desgloso.

 

2 - Code First vs Database first

Cuando hablamos de crear nuevos proyectos que necesitan una base de datos siempre tenemos en mente si debemos seguir un proceso de “Code first” o de “Database first”.

 

Estos procesos los veremos en profundidad más adelante, pero podemos resumir en lo siguiente:

 

2.1 - Qué es code First?

Code first es el proceso en el que el desarrollador escribe las clases que van a ser utilizadas como entidades y entity framework se encarga de crear las tablas en base a esas clases.

 

2.2 - Qué es Database First?

Database First es el proceso en el que la base de datos se crea de forma manual (a través de SQL) o ya existe anteriormente y es Entity Framework el que se encarga de generar las entidades basándose en dicha base de datos.

 

2.3 - Qué es Model first?

Alternativamente con Entity framework y visual estudio podemos utilizar el proceso model first, que es ir al diseñador de visual studio y crear las entidades, así como sus relaciones en dicho diseñador.

 


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é