Entity Framework Core (EF Core) es un potente ORM (Object-Relational Mapper) para .NET que permite a los desarrolladores trabajar con bases de datos utilizando objetos .NET, eliminando la necesidad de escribir la mayor parte del código de acceso a datos. En este post, te guiaré a través de los pasos básicos para empezar a usar EF Core en tu proyecto .NET.
Paso 1: Configurar el Proyecto
Antes de comenzar, asegúrate de tener instalada la última versión del SDK de .NET y de Visual Studio. Luego, crea un nuevo proyecto .NET.
dotnet new console -n EFCoreExample
cd EFCoreExample
Paso 2: Instalar Entity Framework Core
A continuación, instala los paquetes de EF Core necesarios. Utilizaremos SQLite como proveedor de base de datos para este ejemplo.
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
Paso 3: Crear el Modelo de Datos
Define tus clases de entidad. Estas clases representan las tablas de la base de datos. Por ejemplo, crearemos una clase Product
para una tabla de productos.
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
Paso 4: Configurar el Contexto de Datos
El siguiente paso es crear un DbContext
, que es una clase que administra las entidades y las interacciones con la base de datos.
using Microsoft.EntityFrameworkCore;
public class AppDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=products.db");
}
}
Paso 5: Crear y Aplicar Migraciones
Las migraciones permiten crear y actualizar la base de datos a partir del modelo de datos. Genera una migración inicial y aplica los cambios a la base de datos.
dotnet ef migrations add InitialCreate
dotnet ef database update
Paso 6: Utilizar el Contexto de Datos
Finalmente, usa el DbContext
para realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en la base de datos. Aquí tienes un ejemplo básico:
using (var context = new AppDbContext())
{
// Crear
var newProduct = new Product { Name = "Laptop", Price = 999.99m };
context.Products.Add(newProduct);
context.SaveChanges();
// Leer
var products = context.Products.ToList();
foreach (var product in products)
{
Console.WriteLine($"Id: {product.Id}, Name: {product.Name}, Price: {product.Price}");
}
// Actualizar
var productToUpdate = context.Products.First();
productToUpdate.Price = 899.99m;
context.SaveChanges();
// Eliminar
var productToDelete = context.Products.First();
context.Products.Remove(productToDelete);
context.SaveChanges();
}
Conclusión
Entity Framework Core simplifica en gran medida el trabajo con bases de datos en aplicaciones .NET. Este tutorial te proporciona una introducción básica para configurar y utilizar EF Core. Desde aquí, puedes explorar características más avanzadas, como consultas LINQ, relaciones entre entidades y configuraciones avanzadas de mapeo. ¡Feliz codificación!
Este post cubre los pasos esenciales para comenzar a usar Entity Framework Core con una base de datos SQLite en un proyecto .NET. Puedes ajustarlo y expandirlo según las necesidades de tu audiencia.