ASP.NET MVC “CRUD” İşlemleri

EntityFramework

Bu yazımda Entity Framework ile Database First yöntemini kullanarak Create, Read, Update ve Delete işlemlerinin yapıldığı bir örnek yapacağız.

Öncelikle Microsoft SQL Server Management Studio 2017 ile Veritabanı oluşturacağız, bu Veritabanımız yalnızca “Ogrenci” adında bir tabloya sahip olacak ve bu tabloda “ÖğrenciNo”, “OgrenciAdı”, “OgrenciSoyadı” ve “Bolum” bilgileri yer alacaktır. Daha sonrasında Visual Studio 2019 ile Asp.Net MVC projesi oluşturacak ve proje ile önceden oluşturduğumuz Veritabanı bağlantısını yaparak CRUD işlemlerinin yapıldığı Controller altındaki ActionResult’ları hazırlayacağız.

MS-SQL Veritabanı Tablosunun Görüntüsü

Öğrenci Veritabanı
Öğrenci Veritabanı

Öğrenci Tablomuza ait sütunları yukarıdaki şekilde MS-SQL Management Studio 2017 ile basitçe hazırladık.

Şimdi adım adım MVC projesi oluşturacak ve Veritabanımızı projemize bağlayacağız. Entity Framework sayesinde bağlayacağımız bu Veritabanındaki tablolarımızın her biri class, sütunlarımız ise property olarak projemize eklenmektedir.


ASP.NET MVC Projesi Oluşturma

İlk olarak ASP.NET Web Uygulaması(.NET Framework) seçerek aşağıdan Sonraki butonu ile ilerliyoruz.

Projemizin Adını girerek Oluştur butonu ile ilerliyoruz.

Karşımıza gelen ekranda Boş şablonu seçerek, sağ tarafta bulunan MVC seçeneğini seçerek MVC için Klasörleri ve çekirdek başvurularını ekliyoruz. Daha sonrasında Oluştur butonu ile ilerliyor ve projemizi oluşturuyoruz.

Projemizi oluşturduktan sonra Çözüm Gezgini bu görüntüyü almalıdır. Burada “Models” klasörü altına Veritabanımızı ekleyecek, “Controller” klasörümüz içine bir adet Controller oluşturarak Create, Read, Update ve Delete işlemlerinin bulunduğu “ActionResult” metotlarını yazacağız.

Veritabanı Bağlantısını Oluşturma

Veritabanı bağlantısını oluşturmaya başlayabiliriz. Öncelikle Models klasörünün üzerine sağ tıklayarak Ekle->Yeni Öğe seçeneğine giriyoruz.

Sol tarafta bulunan “Veri” sekmesinin altında yer alan ADO.NET Entity Data Model seçeneğini seçip alt kısımdan Model için isim giriyoruz.

“Choose Model Contents” ekranında “EF Designer from database” i seçerek ileri diyoruz.

New Connection kısmına giriş yaparak Veritabanımızın bağlantı ayarlarını yapıyoruz.

Sunucu adı kısmına Local Sunucumuz olan SQLEXPRESS’i ekleyip daha sonrasında alt kısımdan Local Sunucumuzda yer alan Veritabanımızı seçerek Tamam diyoruz.

Son olarak Veritabanımızda yer alan tablolarımızı seçerek Son diyoruz ve böylece Projemiz ile Veritabanı bağlantısını yapmış oluyoruz.

CRUD İşlemleri

Database First yöntemini kullanarak veritabanı bağlantısını yaptıktan sonra öğrenci ekleme, silme,düzenleme ve listeleme işlemlerini yaptığımız OgrenciController’ını ekliyoruz.

Controller oluşturabilmek için öncelikle Controllers dosyasına sağ tıklayarak “Ekle->Denetleyici-> MVC 5 Denetleyici – Boş” yolunu izleyerek boş bir MVC 5 Controller eklemiş oluyoruz.

Oluşturduğumuz Controller’a Ogrenci adını verdik ve CRUD işlemlerinin yapıldığı ActionResult’ları yazmaya başlıyoruz. Öncelikle en üst kısma veritabanını kullanabilmek için projemiz içinde yer alan Models dosyasını gösteriyoruz. Daha sonrasında, metotları yazmaya başlamadan önce Models dosyasının altında bulunan veritabanını çağırarak _db değişkenine atıyoruz. Böylece, OgrenciController ‘ı içinde veritabanını istediğimiz şekilde kullanmaya başlayabiliriz.

İlk metot Liste ActionResult’ı olacaktır. Burada, veritabanını içerisinde tuttuğumuz verilerimizi okuyup, View dosyasına gönderiyoruz. Liste Metotu(1.sarı blok) içerisinde ogrenci nesnelerinin bulunacağı bir liste tanımlayarak “_db.Ogrenci.ToList()” ile veritabanı tablosunda yer alan kayıtları bu liste içerisine ekliyor ve View görünümüne gönderiyoruz.

İkinci metot Ekle ActionResult’ı olacaktır. Ekle kısmında yukarıdaki ekran görüntüsünden de anlaşılacağı üzere 2 adet ActionResult olacaktır. İlk kısımda(2.sarı blok) yalnızca Ekle sayfasına ait olarak View’ın görüntülenmesi sağlayacağız. İkinci kısımda(3. sarı blok) ise ekrana gelen sayfada kullanıcının girdiği bilgileri alarak kendi tanımladığımız “yeniOgrenci” nesnesine atıyoruz ve son olarak bu nesneyi veritabınında yer alan Öğrenci tablosuna ekleyerek, “SaveChanges()” ile kayıt işlemini tamamlıyoruz.

Üçüncü metot Düzenle ActionResult’ı olacaktır. Duzenle metotu Ekle metotunda olduğu gibi iki ActionResult ile yapılacaktır. İlk kısımda (1. sarı blok) düzenlemek istenen öğrencinin OgrenciNo’su ile veritabanında öğrenci bulunur ve View’a gönderilir. İkinci kısımda(2.sarı blok) ise kendi oluşturduğumuz Ogrenci nesnesi düzenleme yapacağımız öğrencinin OgrenciNo’su sayesinde eşitlenir ve karşımıza gelen sayfada yer alan öğrencinin bilgileri düzenlenerek kayıt edilir.

Son metot ise Sil ActionResult’ı olacaktır. Bu kısımda silmek istediğimiz öğrencisi numarası ile öğrenci veritabanında bulunur ve sonrasında Remove() metotu ile silinerek, son değişiklikler kaydedilir.

Bu yazının başlığı her ne kadar CRUD işlemleri olarak atılsa da, bu işlemler öncesinde veritabanı ile projenin nasıl bağlanabileceğini kısaca anlatmaya ve sonucunda da ekran görüntüleri ile yazıyı desteklemeye çalıştım. Bu yazının sizlere yardımcı olması dileğiyle, hoşça kalın.

2 Replies to “ASP.NET MVC “CRUD” İşlemleri”

  1. Son Atılan Ekran görüntüsündeki düzenleme view tarafında nasıl yapılıyor
    onu anlayamadım
    acaba atabilir misiniz?

    1. Mustafa Hakverdi says: Cevapla

      View tarafında nerede sorun yaşadığınızı tam olarak belirtebilirseniz yardımcı olmak isterim.

      Basit olarak, Duzenle ActionResult’ı için View oluşturmayı anlatmak gerekirse; eğer kendi tasarımınız yok ve hazır şablon kullanmak isterseniz, Duzenle’nin üzerine gelerek sağ tıklayıp View ekle dediğinizde karşınıza çıkan ekranda Şablon kısmını “Edit”, Model seçeneğini de kendi veritabanınızı seçtiğiniz takdirde, veritabanına uygun hazır bir Duzenle sayfası oluşturacaktır ve bu sayfada herhangi bir değişiklik yapmanıza gerek kalmayacaktır.

Bir cevap yazın