aeGNoR
Destek Ekibi
- Katılım
- 10 Mar 2021
- Mesajlar
- 887
- Çözümler
- 116
- Aldığı beğeni
- 1,055
- Excel V
- Office 2021 TR
Konu Sahibi
Merhaba,
C# .NET Framework 4.8 Windows Forms Application geliştirirken, uzun zamandır araştırdığım bütün CRUD (Create, Read, Update, Delete) operasyonlarını tek bir sınıf ile yapabilen bir sistem arıyordum. Her bir çözüm çözümü çok zor problemle geliyordu.
Her problemi çözmese de temel bütün problemleri çözen bir sistemi sonunda geliştirdim ve geliştirdiğim bu sistemi sizlere kabaca anlatmaya çalışacağım.
Öncelikle veritabanındaki bütün tablolar C# tarafında bir class olarak modellenmeli. (NTier mimaride buna Entity diyoruz.)
Genelde bütün tablolarda olma ihtimali yüksek alanlar için base classlar tanımlıyoruz.
namespaceler içindeki "MNZ.Core" kısmı benim proje adımı temsil ediyor, diğer kısımlar projedeki klasörleri temsil ediyor.
HTML:
Hemen hemen her veritabanı tablosunda int türünde Id alanı olduğu için EntityBase sınıfına bir int Id alanı tanımlanıyor.
HTML:
Daha sonra yine pek çok tabloda olması muhtemel Audit alanlar için de AuditEntity tablosunu tanımlıyoruz.
Audit bilgisi bize Oluşturma zamanı, güncelleme zamanı, silme zamanı, kim oluşturdu, kim güncelledi, kim sildi gibi bilgiler veriyor.
Hem Audit bilgisi hem Id bilgisini bir araya toplayan AuditEntityBase tablosunu tanımlıyoruz.
HTML:
AuditEntityBase sınıfı AuditEntity sınıfından inherit ettiği için AuditEntity alanlarını da otomatik almış oluyor. Bir class sadece tek bir sınıftan inherit edebileceği için EntityBase sınıfındaki Id alanını alamıyoruz elle public int Id tanımlıyoruz.
Sistemi bölüm bölüm anlatacağımdan temel entity sınıflarını oluşturma kısmını anlatıyorum şimdilik.
Bundan sonraki bölümde her bir entity için temel SQL sorgularını üreten sistemi anlatacağım.
C# .NET Framework 4.8 Windows Forms Application geliştirirken, uzun zamandır araştırdığım bütün CRUD (Create, Read, Update, Delete) operasyonlarını tek bir sınıf ile yapabilen bir sistem arıyordum. Her bir çözüm çözümü çok zor problemle geliyordu.
Her problemi çözmese de temel bütün problemleri çözen bir sistemi sonunda geliştirdim ve geliştirdiğim bu sistemi sizlere kabaca anlatmaya çalışacağım.
Öncelikle veritabanındaki bütün tablolar C# tarafında bir class olarak modellenmeli. (NTier mimaride buna Entity diyoruz.)
Genelde bütün tablolarda olma ihtimali yüksek alanlar için base classlar tanımlıyoruz.
namespaceler içindeki "MNZ.Core" kısmı benim proje adımı temsil ediyor, diğer kısımlar projedeki klasörleri temsil ediyor.
HTML:
Hemen hemen her veritabanı tablosunda int türünde Id alanı olduğu için EntityBase sınıfına bir int Id alanı tanımlanıyor.
HTML:
Daha sonra yine pek çok tabloda olması muhtemel Audit alanlar için de AuditEntity tablosunu tanımlıyoruz.
Audit bilgisi bize Oluşturma zamanı, güncelleme zamanı, silme zamanı, kim oluşturdu, kim güncelledi, kim sildi gibi bilgiler veriyor.
Hem Audit bilgisi hem Id bilgisini bir araya toplayan AuditEntityBase tablosunu tanımlıyoruz.
HTML:
AuditEntityBase sınıfı AuditEntity sınıfından inherit ettiği için AuditEntity alanlarını da otomatik almış oluyor. Bir class sadece tek bir sınıftan inherit edebileceği için EntityBase sınıfındaki Id alanını alamıyoruz elle public int Id tanımlıyoruz.
Sistemi bölüm bölüm anlatacağımdan temel entity sınıflarını oluşturma kısmını anlatıyorum şimdilik.
Bundan sonraki bölümde her bir entity için temel SQL sorgularını üreten sistemi anlatacağım.