Entity Framework y ORM en C#
Entity Framework (EF) es un ORM (Object-Relational Mapper) para .NET que permite mapear clases de C# a tablas de bases de datos relacionales. Facilita la interacción con la base de datos usando LINQ y objetos, evitando escribir SQL manualmente para la mayoría de las operaciones CRUD.
Definir un modelo
Empieza creando una clase que represente una tabla.
public class Producto { public int Id { get; set; } public string Nombre { get; set; } public decimal Precio { get; set; } }
Entity Framework usa convenciones para mapear propiedades a columnas.
Definir el DbContext
El DbContext administra la conexión y las entidades.
public class TiendaContext : DbContext { public DbSetProductos { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseSqlServer("connection-string-aqui"); }
Aquí defines las colecciones de entidades (tablas).
Uso básico de CRUD
Puedes agregar, consultar, actualizar o eliminar registros fácilmente.
// Crear using var context = new TiendaContext(); context.Productos.Add(new Producto { Nombre = "Camiseta", Precio = 19.99M }); context.SaveChanges(); // Leer var lista = context.Productos.ToList(); // Actualizar var prod = context.Productos.First(); prod.Precio = 17.99M; context.SaveChanges(); // Eliminar context.Productos.Remove(prod); context.SaveChanges();
Buenas Prácticas
Usa migraciones para versionar cambios en el esquema. Evita consultas no optimizadas cargando demasiados datos. Usa Include() para cargar relaciones. Maneja la inyección de dependencias para el ciclo de vida del DbContext. Valida entradas antes de guardarlas.