Sobes.tech
Junior

Qaysi ORM bilan ishladingiz?

sobes.tech AI

AIdan javob

.NET ekosistemida bir nechta ORM bilan ishladim:

  • Entity Framework (EF) va Entity Framework Core (EF Core): Bu eng keng tarqalgan ORM-lardir va ular bilan ishladim. Ularni SQL Server, PostgreSQL va SQLite ma'lumotlar bazalari bilan turli loyihalarda ishlatdim. Code First va Database First yondashuvlarida tajribam bor. Migratsiyalar, LINQ so'rovlar, entitlar o'rtasidagi aloqalarni boshqarish va ishlashni optimallashtirish bilan ishladim.

    using (var context = new ApplicationDbContext())
    {
        var users = context.Users
                           .Where(u => u.IsActive)
                           .ToList(); // Oddiy LINQ so'rovi misoli
    }
    
  • Dapper: Dapper mikro-ORM bo'lsa-da, men uni ma'lumotlar bilan ishlashda yuqori samaradorlik yoki SQL so'rovlar ustidan yanada moslashuvchan nazorat talab qilinadigan loyihalarda faol ishlatdim. U ko'pincha ma'lumotlarni o'qish uchun ishlatiladi, EF esa yozish va entitlarni boshqarish uchun.

    using System.Data;
    using Dapper;
    using Microsoft.Data.SqlClient; // SQL Server uchun misol
    
    public class UserRepository
    {
        private readonly string _connectionString;
    
        public UserRepository(string connectionString)
        {
            _connectionString = connectionString;
        }
    
        public IEnumerable<User> GetActiveUsers()
        {
            using (IDbConnection db = new SqlConnection(_connectionString))
            {
                // Dapper yordamida toza SQL so'rovini bajarish misoli
                return db.Query<User>("SELECT * FROM Users WHERE IsActive = 1").ToList();
            }
        }
    }
    

EF Core yangi loyihalar uchun asosiy ORM bo'lib, uning zamonaviy dizayni, platformalararo qo'llab-quvvatlashi va keng funksiyalar to'plami bilan ajralib turadi. Dapper maksimal samaradorlik yoki SQL ustidan to'g'ridan-to'g'ri nazorat talab qiladigan holatlarda ishlatiladi.