Sobes.tech
Junior

Com que ORM trabalhou?

sobes.tech IA

Resposta da IA

Trabalhei com vários ORM no ecossistema .NET:

  • Entity Framework (EF) e Entity Framework Core (EF Core): São os ORM mais comuns com os quais trabalhei. Usei-os em vários projetos, trabalhando com bancos de dados SQL Server, PostgreSQL e SQLite. Tenho experiência tanto com a abordagem Code First quanto Database First. Trabalhei com migrações, consultas LINQ, gestão de relações entre entidades e otimização de desempenho.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Exemplo de consulta LINQ simples
    }
    
  • Dapper: Apesar de Dapper ser um micro-ORM, usei-o ativamente em projetos onde era necessária alta performance na manipulação de dados ou um controlo mais flexível sobre as consultas SQL. Era frequentemente utilizado para leitura de dados, enquanto o EF era usado para operações de escrita e gestão de entidades.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // Exemplo 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))
            {
                // Exemplo de uso do Dapper para executar uma consulta SQL pura
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

O EF Core é o meu ORM principal para novos projetos devido ao seu design moderno, portabilidade e amplo conjunto de funcionalidades. O Dapper é utilizado em casos que requerem máxima performance ou controlo direto sobre SQL.