Önceki yazılarımızda .net core teknolojisini ve mvc mimari yapısını incelemiş önemli noktalarından bahsetmiştik. Bu yazımızda ise veri tabanımız üzerinde EF Core ile select, update ve delete işlemlerinin nasıl yapıldığını akataracağız
Farklı amaçlar için kullanacağımız kütüphanelerimizi projemize ekleyebilmek adına NuGet Package Manager ile gerekli dosyaların ındırıyoruz
Sıra geldi veritabanımız için ilk önce entitylerimizi oluşturmaya Girdiğimiz her bir sınıf bir tabloyu temsil edecek Butun bunları da Entity katmanında yapacağız
Entityler DBContext API tarafından kontrol edilmektedir. DBContext,
Entity Framework mimarisinin temelini oluşturmakla beraber veritabanına
bağlanma, sorgulama ve güncelleme işlemleri ile veritabanını yapılandırmak
için gerekli bilgileri tutmaktadır. Bu nedenle DBContext sınıfından kalıtım
alarak entitylerimiz için kendi DBContext sınıfımızı oluşturmalıyız.
Veri tabanı bağlantımızı code first mantığıyla oluşturmak için yapmamız gereken diğer bir adımsa migration oluşturmak.
Add-Migration “migration_name”
Ardındansa yapılan değişiklikleri update diyerek güncelliyoruz Migration yapıları sayesinde yaptığımız yenilikleri Visual Studio üzerinden hızlıca fiziksel veritabanına yansıtabileceğiz. Anlayacağınız, kod kısmında yaptığımız değişiklikleri veritabanına yansıtmaya Migration demekteyiz.
update-database
Bu iki komut çalıştırıldıktan sonra migration dosyalarımız
oluşturulacaktır.Katmanları yakından incelememiz gerekirse;
Entity Katmanında veri tabanı işlemlerimizin yapıldığı tabloları içeren classların olduğu katman olduğunu söylemiştik
Data Access Katmanında ise veri tabanında insert update delete gibi işlemlerin yapıldığı kodlar ve yine bağlantının gerçekleştiği context sınıfmız yer almaktadır.Ayrıca Dto işlemleri de yine burada bulunmaktadır.
Business Katmanında İş kuralları yer alır Bundan kastımız programımız kullanıcı isteklerine cevap vermeden önce bu kuralları uygulamalıdır.Bunun yanında şifreleme ve yetki işlemleri de yine bu katmanda yapılmaktadır.
Detaylı İncele için GİT Üzerindeki CRUD Projesine Göz Atabilirsiniz