Sobes.tech
Junior

Cu ce ORM-uri ați lucrat?

sobes.tech AI

Răspuns de la AI

Am lucrat cu mai multe ORM-uri în ecosistemul .NET:

  • Entity Framework (EF) și Entity Framework Core (EF Core): Acestea sunt cele mai răspândite ORM-uri cu care am avut de-a face. Le-am folosit în diverse proiecte, lucrând cu baze de date SQL Server, PostgreSQL și SQLite. Am experiență atât cu abordarea Code First, cât și cu Database First. Am lucrat cu migrații, interogări LINQ, gestionarea relațiilor între entități și optimizarea performanței.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Exemplu de interogare LINQ simplă
    }
    
  • Dapper: Deși Dapper este un micro-ORM, l-am folosit activ în proiecte în care era necesară o performanță ridicată la manipularea datelor sau un control mai flexibil asupra interogărilor SQL. Era frecvent utilizat pentru citirea datelor, în timp ce EF era folosit pentru operațiuni de scriere și gestionarea entităților.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // Exemplu pentru 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))
            {
                // Exemplu de utilizare Dapper pentru executarea unei interogări SQL simple
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

EF Core este ORM-ul meu principal pentru proiecte noi datorită designului său modern, portabilității și gamei largi de funcții. Dapper este utilizat în cazurile care necesită performanță maximă sau control direct asupra SQL-ului.