Sobes.tech
Junior

Milyen ORM-ekkel dolgozott?

sobes.tech MI

Válasz az MI-től

A .NET ökoszisztémában több ORM-mel dolgoztam:

  • Entity Framework (EF) és Entity Framework Core (EF Core): Ezek a legelterjedtebb ORM-ek, amelyekkel dolgoztam. Különböző projektekben használtam őket, SQL Server, PostgreSQL és SQLite adatbázisokkal. Tapasztalatom van mind Code First, mind Database First megközelítéssel. Munkám során migrációkkal, LINQ lekérdezésekkel, entitások közötti kapcsolatok kezelésével és teljesítmény-optimalizálással foglalkoztam.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Egyszerű LINQ lekérdezés példa
    }
    
  • Dapper: Bár a Dapper mikro-ORM, aktívan használtam olyan projektekben, ahol magas adatfeldolgozási teljesítmény vagy rugalmasabb SQL-vezérlés volt szükséges. Gyakran adatolvasásra használtam, míg az EF a beírásokra és az entitások kezelésére szolgált.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // SQL Server például
    
    public class UserRepository
    {
        private readonly string _connectionString;
    
        public UserRepository(string connectionString)
        {
            _connectionString = connectionString;
        }
    
        public IEnumerable<User> GetActiveUsers()
        {
            using (IDbConnection db = new SqlConnection(_connectionString))
            {
                // Dapper használata tiszta SQL lekérdezéshez
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

Az EF Core a fő ORM-om új projektekhez a modern kialakítása, platformfüggetlensége és széles funkciókészlete miatt. A Dapper-t olyan esetekben használom, ahol maximális teljesítmény vagy közvetlen SQL-vezérlés szükséges.