Sobes.tech
Junior

S ktorými ORM ste pracovali?

sobes.tech AI

Odpoveď od AI

Pracoval som s niekoľkými ORM v ekosystéme .NET:

  • Entity Framework (EF) a Entity Framework Core (EF Core): Ide o najrozšírenejšie ORM, s ktorými som mal skúsenosti. Používal som ich v rôznych projektoch, pracujúc s databázami SQL Server, PostgreSQL a SQLite. Mám skúsenosti s prístupom Code First aj Database First. Pracoval som s migráciami, LINQ dotazmi, správou vzťahov medzi entitami a optimalizáciou výkonu.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Príklad jednoduchého LINQ dotazu
    }
    
  • Dapper: Hoci je Dapper mikro-ORM, aktívne som ho používal v projektoch, kde bola požadovaná vysoká výkonnosť pri práci s dátami alebo flexibilnejšia kontrola nad SQL dotazmi. Často sa používal na čítanie dát, zatiaľ čo EF sa používal na zápisové operácie a správu entít.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // Príklad pre 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))
            {
                // Príklad použitia Dapper na vykonanie čistého SQL dotazu
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

EF Core je môj hlavný ORM pre nové projekty vďaka jeho modernému dizajnu, multiplatformovej podpore a širokému rozsahu funkcií. Dapper sa používa v prípadoch, kde je potrebný maximálny výkon alebo priama kontrola nad SQL.