Sobes.tech
Junior

Con quali ORM hai lavorato?

sobes.tech AI

Risposta dell'AI

Ho lavorato con diversi ORM nell'ecosistema .NET:

  • Entity Framework (EF) e Entity Framework Core (EF Core): Sono gli ORM più diffusi con cui ho avuto a che fare. Li ho usati in vari progetti, lavorando con database SQL Server, PostgreSQL e SQLite. Ho esperienza sia con l'approccio Code First che Database First. Ho lavorato con migrazioni, query LINQ, gestione delle relazioni tra entità e ottimizzazione delle prestazioni.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Esempio di semplice query LINQ
    }
    
  • Dapper: Sebbene Dapper sia un micro-ORM, l'ho usato attivamente in progetti che richiedevano alte prestazioni nella gestione dei dati o un controllo più flessibile sulle query SQL. Viene spesso usato per leggere i dati, mentre EF viene usato per operazioni di scrittura e gestione delle entità.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // Esempio per 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))
            {
                // Esempio di utilizzo di Dapper per eseguire una query SQL pura
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

EF Core è il mio ORM principale per nuovi progetti grazie al suo design moderno, portabilità e vasta gamma di funzionalità. Dapper viene utilizzato nei casi che richiedono massima performance o controllo diretto sul SQL.