Sobes.tech
Junior

Hansı ORM-lərlə işlədiniz?

sobes.tech Süni İntellekt

AI-dan cavab

.NET ekosistemində bir neçə ORM ilə işlədim:

  • Entity Framework (EF)Entity Framework Core (EF Core): Bunlar ən çox istifadə olunan ORM-lərdir və onlarla işlədim. Müxtəlif layihələrdə SQL Server, PostgreSQL və SQLite verilənlər bazaları ilə işlədim. Hem Code First, hem də Database First yanaşmaları ilə təcrübəm var. Migrasiyalar, LINQ sorğuları, varlıqlar arasındakı əlaqələrin idarə olunması və performansın optimallaşdırılması üzərində işlədim.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Sadə LINQ sorğusu nümunəsi
    }
    
  • Dapper: Dapper mikro-ORM olsa da, mən onu aktiv şəkildə istifadə etdim, məlumatların işlənməsində yüksək performans tələb olunduğu və ya SQL sorğuları üzərində daha çevik nəzarət lazım olan layihələrdə. Çox vaxt məlumat oxuma üçün istifadə olunurdu, EF isə yazma və varlıq idarəetməsi üçün.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // SQL Server üçün nümunə
    
    public class UserRepository
    {
        private readonly string _connectionString;
    
        public UserRepository(string connectionString)
        {
            _connectionString = connectionString;
        }
    
        public IEnumerable<User> GetActiveUsers()
        {
            using (IDbConnection db = new SqlConnection(_connectionString))
            {
                // Dapper istifadə edərək saf SQL sorğusu icra nümunəsi
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

EF Core, müasir dizaynı, platformalararası dəstəyi və geniş funksiyalar dəstinə görə yeni layihələr üçün əsas ORM-dir. Dapper isə maksimum performans və ya birbaşa SQL nəzarəti tələb edən hallarda istifadə olunur.