ENTITY FRAMEWORK CORE VERİ SİLME VE ÇOKLU VERİ EKLEME – VERİ SİLME İŞLEMLERİ NASIL YAPILIR?

Bu dersimizde de silme işlemi ile başlayalım, biz silme metodunu Index sayfamızda Sil olarak tanımlamıştık.

Detaylı kod takibi ve ders anlatımı için video:

Sil

Dolayısı ile KategoriController’a geliyor ve yeni bir sil actionu ekliyorum. Burada gelen Id bilgisine göre silme işlemi yapacağız.

public IActionResult Sil(int id)
        {
            var objDb = _db.Kategoriler.FirstOrDefault(a => a.KategoriId == id);
            _db.Kategoriler.Remove(objDb);
            _db.SaveChanges();
            return RedirectToAction(nameof(Index));

        }

Burada da silme işlemi için öncelikle bir değişken oluşturdum. Gelen id bilgisine göre verilerin hepsini yani o Id içindeki satır verilerinin hepsini bu nesne içine aldım ve akabinde Remove metodu ile silme işlemi için komutu yazdım. Akabinde SaveChanges diyerek database tarafıma değişiklikleri yansıttım. En son olarak da ana listeye tekrar sayfamı geri döndürdüm, silme işlemi için testimizi yapıp, bir kayıt silelim.

Silme işlemlerimiz çalışıyor. Birde çoklu işlemlere ilişkin örnekleme yapalım aynı anda 3 adet, 10 adet veri silme ve veri ekleme yapalım. Veri ekleme işlemi için kodlarım:

public IActionResult CokluEkleme3()
        {
            List< Kategori> KategoriListesi = new List< Kategori>();
            for (int i = 1; i<=3; i++)
            {
                KategoriListesi.Add(new Kategori { KategoriAd = Guid.NewGuid().ToString() });
            }

            _db.Kategoriler.AddRange(KategoriListesi);
            _db.SaveChanges();
            return RedirectToAction(nameof(Index));

        }

        public IActionResult CokluEkleme10()
        {
            List< Kategori> KategoriListesi = new List< Kategori>();
            for (int i = 1; i <= 10; i++)
            {
                KategoriListesi.Add(new Kategori { KategoriAd = Guid.NewGuid().ToString() });
            }

            _db.Kategoriler.AddRange(KategoriListesi);
            _db.SaveChanges();
            return RedirectToAction(nameof(Index));

        
}

Burada öncelikle çoklu veri ekleyebilmek için bir Liste tanımlaması yapıyorum. Akabinde for döngüsü ile 3 adet guid bilgisi içeren veri ekledim. Veri eklerken AddRange kullanıyorum çünkü eklediğim veri bir dizi..

Çoklu veri silme işlemi için kodlarım:

public IActionResult CokluSilme3()
        {
            IEnumerable< Kategori> KategoriListesi = _db.Kategoriler.OrderByDescending(a => a.KategoriId).Take(3).ToList();
            

            _db.Kategoriler.RemoveRange(KategoriListesi);
            _db.SaveChanges();
            return RedirectToAction(nameof(Index));

        }

        public IActionResult CokluSilme10()
        {
            IEnumerable< Kategori> KategoriListesi = _db.Kategoriler.OrderByDescending(a => a.KategoriId).Take(10).ToList();


            _db.Kategoriler.RemoveRange(KategoriListesi);
            _db.SaveChanges();
            return RedirectToAction(nameof(Index));

        }

Burada da veri silme için IEnumarable olarak bir dizi tanımladım, akabinde RemoveRange ile bu dizi içerisindeki verilerin silinmesini sağladım.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir