Sobes.tech
Junior — Middle

Layihələrinizdə verilənlər bazası ilə qarşılıqlı əlaqəni necə qurmusunuz?

sobes.tech Süni İntellekt

AI-dan cavab

Layihələrimdə, adətən, verilənlər bazası ilə qarşılıqlı əlaqəni aşağıdakı şəkildə qururam:

  1. Məlumatlara giriş qatmanı (DAL) — bir qatman və ya siniflər toplusu, birbaşa verilənlər bazası ilə qarşılıqlı əlaqə üçün məsuliyyət daşıyır (məsələn, ORM və ya ADO.NET vasitəsilə).
  2. Depozitoriyalar — xüsusi varlıqlarla sorğular və əməliyyatlar məntiqini inkapsulyasiya edən nümunə, biznes məntiqi üçün rahat interfeys təmin edir.
  3. İş Birliyi (Unit of Work) — əməliyyatları və məlumatların ardıcıllığını idarə etmək üçün.

C# ilə Entity Framework nümunəsi:

public interface IRepository<T> where T : class
{
    Task<T> GetByIdAsync(int id);
    Task<IEnumerable<T>> GetAllAsync();
    void Add(T entity);
    void Remove(T entity);
}

public class Repository<T> : IRepository<T> where T : class
{
    protected readonly DbContext _context;
    public Repository(DbContext context) { _context = context; }

    public async Task<T> GetByIdAsync(int id) => await _context.Set<T>().FindAsync(id);
    public async Task<IEnumerable<T>> GetAllAsync() => await _context.Set<T>().ToListAsync();
    public void Add(T entity) => _context.Set<T>().Add(entity);
    public void Remove(T entity) => _context.Set<T>().Remove(entity);
}

Bu yanaşma test etməyi, dəstəkləməyi və layihənin genişləndirilməsini asanlaşdırır.