yusufaaksu Öğrenirsin, basit bir ORM(örn Entity Framework) aracıyla bir database yönetmek listeye veri yazmak kadar kolay bir iş. C#'ı da öğrenirsin o da iş değil. Ama mesela kodu yazarken işin nereye varacağını yani önünü görmek asıl mesele. Bak ne güzel bir manav uygulaması yapıyorsun, şimdi bu yapıya bakınca adam gelip yeni bir kategori eklemek isteyebilir mesela birkaç örnek : "Yerli meyve/sebze", "Tropik Meyveler", "Mevsimsel meyve/sebzeler" vs... Kullanıcının senin koduna bunları ekleyebilmesi için şuan birkaç tane daha if ya da switch eklemesi gerekecek o ekleyemeyeceğine göre bunu sen ekleyeceksin ee noldu bu kod sana bumerang gibi sürekli dönecek sen bunu düzelteceksin. Sonra bir ürünün meyve ya da sebze olması seni bağlar mı sonuçta hepsi satılacak şeyler bu yapıda if lerin gövdelerine aynı işi yapacak kodu çoklamak gerekecek.
Oysa şöyle bir tasarım yapsan ;
1- Müşteri tablon olsa, (Id(Guid),Name(string),Surname(string),MobilePhone(string),CreatedAt)
2- Ürünler tablosu, (Id(Guid), ProductName, ProductCategory, PricePerKilogram, StockAmount, CreatedAt )
3- Sipariş tablosu, (Id (Guid), Product(Relation),CustomerId, CreatedAt)
Program başladığında önce ekranda kişiden telefon numarasını alsan, sonra veritabanındaki ürünler tablosunu çeksen kategorileri listelesen adama, o kategoriyi seçtiğinde ona o kategori içerisindeki ürünleri göstersen ve adam alışveriş yaptıkça onun adına sipariş tablosunu doldursan güzel olmaz mı? Aynı bu yazdığın kodu alır web projesine çevirir yürür gidersin 🙂 Böyle tablo create et, veri ekle sil diyorum bunlar zor gibi gözükmesin tüm işlemleri toplasan 10-15 satırı geçmez. Yukarıdaki gibi if yapısına da gerek kalmaz bu projede sana çok şey katar.
Ef ile örnek veri tabanına veri yazma :
using(var db = new DbContext()) {
db.Products.Add(new Product(){...});
SaveChanges();
}
EF ile örnek veri çekme tüm tablo :
using(var db = new DbContext()) {
var products = db.Products.ToList(); //Kriterin varsa where,firstordefault etc.
}
EF ile update :
using(var db = new DbContext()) {
var kiraz = db.Products.FirstOrDefault(f=>f.ProductName == "Kiraz");
kiraz.PricePerKilogram = 50.5m
SaveChanges();
}
veritabanına yazdık, okuduk, güncelledik bu kadar işte database'i de öğrendin hayırlı olsun 🙂
NOT: Sana yazdığım örnekteki gibi, while kullanıma teknik tabirle REPL(Read-Eval-Print Loop) denir. Gelen veriyi okursun, işlemi yaparsın sonra ekrana basarsın ve bu döngü program kapanana dek devam eder. if-else switch-case ifadeleri ile programın akışını kontrol ediyoruz, döngülerle de ilgili kodun kaç kere çalışacağını bunları bir template gibi ezberlememelisin. Kodun nasıl davranacağını hayal etmekte zorlanıyorsan breakpoint kullan f10 la takip et.