Merhaba,

6 yıla yakındır Enterprise Java yazdıktan sonra kısmette .Net ile çalışmakta varmış diyelim.. C# ile Code First yaklaşımıyla yazılmış bir DAL(Data Access Layer) yapısı gereksinimim oldu. Olabildiğinde generic yazmaya çalıştım. Temiz bir şey ortaya çıktı..Arayüzdeki fonksiyonelitesi ve yardımcı extension/helper (linq, expressions) artırılabilir ve zamanla artıracağımda.

Generic'in yetenekleri;

Birden fazla database'e bağlanabilirsiniz.. DbContext parametriktir. Domain yada POCO sınıflarınızın Id alanlarının data tipleri istediğiniz gibi verebilirsiniz.. Şimdilik IVersionable, Ideleteable, IAuditable gibi arayüzler ekledim. İşinizi göre ekleyebiliriniz zamna geçtikçe projeye ekleyeceğim.Ek olarak n tane DbSet oluşturma hamallığı yoktur. Context sınıfınız uzadıkça uzamaz..

Bağımlı Teknoloji : EF(EntityFramework) 6.1

Kaynak kodları ;

https://github.com/TurgayCan2/EFGeneric


Bu kodlar kafada soru işareti yaratabilir..

Bu projeyi dependent eden örnek bir implementasyon uygulamasıda mevcut. Implementasyon Anotasyonlar ile yapılmıştır(POCO sınıfları).

Örnek implementasyon kodları;

https://github.com/TurgayCan2/EFAnotatedPOC

Domain Driven Design + Abstract DAL projelerinizde kullanabilirsiniz.

Proje ile ilgili bir sıkıntı görürseniz, github'dan issue açarsanız sevinirim. bug ve improvement gibi.

iyi çalışmalar..