Repository veritabanına erişen ve o veritabanında CRUD işlemleri yapan katmandır. Kodun geri kalanı yani controls ve services katmanının veritabanı ayrıntılarından soyutlamak yani doğrudan veritabanı bilgilerini görmemek veya bilmemek
Repository Örneği
Örnek olarak Product adında tablo var normalde böyle cağırırız
public class ConcertController
{
public List<Concert> GetAll()
{
using (var context = new AppDbContext())
{
return context.Concerts.ToList();
}
}
}
}
Bu durumda direk olarak controller veritabanına dokanmiş oluyor kod test edilmez hale geliyor,Aynı sorguları birçok yerde tekrar etmke durumunda kalıyoruz ayrıca mimariya karşi