crear-proyecto-con-entity-framework

Crear un proyecto .NET con Entity Framework

  • 3 min

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:

  1. .NET SDK: Es la base para desarrollar aplicaciones en .NET.
  2. Un IDE o editor de código: Yo os recomiendo usar Visual Studio 2022 o Visual Studio Code.
  3. Conocimientos básicos de C#: Porque EF es una herramienta de C#
  4. Un gestor de base de datos. Dependiendo de la base de datos que queráis elegir.

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 llamado AppDbContext que contiene un DbSet para la entidad Usuario.
  • 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.