Sobes.tech
Junior

Са којим ORM-има сте радили?

sobes.tech АИ

Одговор од АИ

Радио сам са неколико ORM-ова у екосистему .NET:

  • Entity Framework (EF) и Entity Framework Core (EF Core): Ово су најраспрострањенији ORM-ови са којима сам радио. Користио сам их у различитим пројектима, радећи са базама података SQL Server, PostgreSQL и SQLite. Имам искуства како са приступом Code First, тако и са Database First. Радио сам са миграцијама, LINQ упитима, управљањем везама између ентитета и оптимизацијом перформанси.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Пример једноставног LINQ упита
    }
    
  • Dapper: Иако је Dapper микро-ORM, активно сам га користио у пројектима где је била потребна висока перформанса при раду са подацима или флексибилнија контрола над SQL упитима. Често се користио за читање података, док је EF коришћен за операције уписа и управљање ентитетима.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // Пример за 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))
            {
                // Пример коришћења Dapper за извршавање чистог SQL упита
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

EF Core је мој главни ORM за нове пројекте због његовог модерног дизајна, платформске независности и широког спектра функција. Dapper се користи у случајевима који захтевају максималне перформансе или директан контролу над SQL-ом.