En este artículo, vamos a ver cómo crear un proyecto de .NET con Entity Framework para conectarnos a una base de datos.
Lógicamente, es el primer paso si queréis a usar EF en vuestras aplicaciones. Afortundamente, es un proceso muy sencillo.
Podemos añadir Entity Framework a cualquier tipo de programa de .NET, como aplicaciones de consola, desktop, ASP.NET (o cualquier otro tipo de aplicación).
En este tutorial veremos el proceso paso a paso, usando como ejemplo una aplicación de consola. Pero en el resto de tipo de proyectos, es básicamente idéntico.
Requisitos previos
Antes de instalar y configurar Entity Framework, asegúrate de tener lo siguiente instalado en tu sistema:
- .NET SDK: Es la base para desarrollar aplicaciones en .NET.
- Un IDE o editor de código: Yo os recomiendo usar Visual Studio 2022 o Visual Studio Code.
- Conocimientos básicos de C#: Porque EF es una herramienta de C#
- Un gestor de base de datos. Dependiendo de la base de datos que queráis elegir.
Si necesitas te falta alguno de ellos, échale un ojo a,
Creación de un proyecto de consola con .NET
Para crear un proyecto de consola en .NET, abre una terminal o el símbolo del sistema y ejecuta el siguiente comando:
dotnet new console -n MiProyectoEF
Este comando creará una nueva carpeta llamada MiProyectoEF
con un proyecto de consola básico.
Una vez creado el proyecto, navega al directorio del proyecto:
cd MiProyectoEF
Agregar Entity Framework Core
EF Core está disponible como una colección de paquetes NuGet. Necesitaremos instalar los siguientes paquetes esenciales:
EntityFrameworkCore: Este paquete contiene el núcleo de EF Core y es necesario para cualquier proyecto:
dotnet add package Microsoft.EntityFrameworkCore
Proveedor de base de datos: EF Core necesita un proveedor específico según la base de datos que uses. Para SQL Server:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
Herramientas de EF Core: Este paquete permite usar herramientas de línea de comandos para migraciones y otras tareas:
dotnet add package Microsoft.EntityFrameworkCore.Tools
Crear de entidades entidad
Las entidades representa las tablas de la base de datos en tu código. Para este ejemplo, crearemos una clase llamada Usario
.
Para eso, dentro de la carpeta Models
, crea una nueva clase llamada Usuario.cs
:
namespace MiProyectoEF.Models
{
public class Usuario
{
public int Id { get; set; }
public string Nombre { get; set; }
public string Email { get; set; }
}
}
Esta clase representa una entidad Usuario
con tres propiedades: Id
, Nombre
y Email
.
Configurar el contexto de la base de datos
Entity Framework utiliza un objeto DbContext para interactuar con la base de datos. Vamos a crear una clase que herede de DbContext
para configurar nuestro contexto.
En la carpeta raíz del proyecto, crea una clase llamada AppDbContext.cs
con el siguiente contenido:
using Microsoft.EntityFrameworkCore;
namespace MiProyectoEF.Models
{
public class AppDbContext : DbContext
{
public DbSet<Usuario> Usuarios { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Server=localhost;Database=MiBaseDeDatos;Trusted_Connection=True;");
}
}
}
En este ejemplo,
- Hemos creado un
DbContext
llamadoAppDbContext
que contiene unDbSet
para la entidadUsuario
. - Además, hemos configurado la conexión a una base de datos SQL Server local.
Crear la base de datos
Entity Framework utiliza migraciones para aplicar cambios del modelo a la base de datos. Para crear una migración, ejecuta los siguientes comandos:
Genera una migración inicial:
dotnet ef migrations add InitialCreate
Aplica la migración para crear la base de datos:
dotnet ef database update
Verifica que la base de datos se haya creado en SQL Server Management Studio (SSMS)
Ejecutar el proyecto
Finalmente, ejecuta el proyecto para asegurarte de que todo funciona correctamente:
dotnet run
Si todo está configurado correctamente, deberías ver un mensaje en la consola indicando que el proyecto se ha ejecutado sin errores.