Entity Framework ile Insert, Update, Delete Işlemleri 78187818 okunma
Entity Framework, Visual Studio’nun gelişmiş farklı bir veritabanı teknolojisidir. Veritabanıyla bağlantı sağlayıp tabloları VS üzerinde gösteriyor ve daha hızlı işlem sağlıyor. Ayrıca çok daha kısa yoldan işlemlerinizi halledebiliyorsunuz. Hal böyleyken ADO.NET ile uzun sorgular yazmak zorunda kalmıyorsunuz. Bunun için DML (Insert, Update ve Delete) işlemlerini bazı kurallara göre yazmak zorundayız.
Bkz: Entity Framework Modeli Oluşturmak
Entity Framework ile Insert Işlemi
EF ile insert oldukça basit bir işlemden geçiyor.
Olayın mantığı şu: Tabloyu kullanarak bir instance oluşturuyorsunuz, o instance’ı kullanarak tablonun sütunlarına ulaşıyoruz. O sütunları da tool’lara eşitliyoruz. Birkaç adımla insert yapabiliyoruz.
Örneğin Duyurular isminde bir tablonuz var diyelim. Bu tabloya Insert yapmak için:
Duyurular dyr = new Duyurular();
dyr.Baslik = TxtBaslik.Text;
Yukarıdaki örnekte de görüldüğü gibi, instance oluşturup tool’a eşitliyoruz.
Ardından add ve save işlemleriyle insert tamamlanmış oluyor.
Yani özetle işlem şöyle:
Using(DenemeEntity deneme = new DenemeEntity())
{
Duyurular dyr = new Duyurular();
dyr.Baslik = TxtBaslik.Text;
deneme.Duyurular.Add(dyr); // bu alanda oluşturduğumuz entity yapısına instance’ı ekliyoruz
deneme.SaveChanges(); //Bu metodla kaydediyoruz
}
Entity Framework ile Update Işlemi
Insert işleminde yaptığımız işlemin tam tersini yapıyoruz ve Add yapmadan save yapıyoruz. Örnek kodu şöyle değiştirelim:
Using(DenemeEntity deneme = new DenemeEntity())
{
Duyurular dyr = new Duyurular();
TxtBaslik.Text = dyr.Baslik;
deneme.SaveChanges();
}
Entity Framework ile Delete Işlemi
Diyelim ki Duyurular tablosundan ID’si 5 olan satırı silmek istiyorum. Bunun için önce o veriyi çekiyorum, ya da gösteriyorum diyelim. Ardından Remove metoduyla onu siliyorum.
Örnek kodumuz:
var deleteIslemi = (from h in tb.Duyurular
where h.ID == delId
select h).FirstOrDefault();
tb.Announcement.Remove(del);
tb.SaveChanges();
var ile veriyi çektikten sonra veriyi silip kaydediyorum. Olayın mantığı oldukça basit.
Konuyla ilgili sorularınızı programlama kategorisine açabilirsiniz. Umarım faydalı olmuştur.
Recep ŞERIT
BİR YORUM YAZIN