Sobes.tech
Junior

¿Con qué ORM has trabajado?

sobes.tech AI

Respuesta de la IA

He trabajado con varios ORM en el ecosistema .NET:

  • Entity Framework (EF) y Entity Framework Core (EF Core): Son los ORM más comunes con los que he trabajado. Los he utilizado en diversos proyectos, trabajando con bases de datos SQL Server, PostgreSQL y SQLite. Tengo experiencia tanto con el enfoque Code First como Database First. He trabajado con migraciones, consultas LINQ, gestión de relaciones entre entidades y optimización del rendimiento.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Ejemplo de consulta LINQ simple
    }
    
  • Dapper: Aunque Dapper es un micro-ORM, lo he utilizado activamente en proyectos donde se requería alta rendimiento en el manejo de datos o un control más flexible sobre las consultas SQL. Se usaba frecuentemente para leer datos, mientras que EF se utilizaba para operaciones de escritura y gestión de entidades.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // Ejemplo para SQL Server
    
    public class UserRepository
    {
        private readonly string _connectionString;
    
        public UserRepository(string connectionString)
        {
            _connectionString = connectionString;
        }
    
        public IEnumerable<User> GetActiveUsers()
        {
            using (IDbConnection db = new SqlConnection(_connectionString))
            {
                // Ejemplo de uso de Dapper para ejecutar una consulta SQL pura
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

EF Core es mi ORM principal para nuevos proyectos debido a su diseño moderno, portabilidad y amplio conjunto de funciones. Dapper se usa en casos que requieren máximo rendimiento o control directo sobre SQL.