Asp.Net, EntityFramework, Scaffolding
Bu yazımda Asp.Net projesi üzerinde CRUD işlemlerini yapabileceğimiz bir basit uygulama yapacağız. Bunu yaparken Entity Framework ve Scaffolding kavramlarından yararlanacağız.
İlk olarak Asp.Net MVC projesi açalım.
Projeyi oluşturduğumuzda karşımıza çıkan dosya dizininde Model klasörü olacak orada Student adında bir class oluşturalım. Bu Student class’ının 4 adet property’si olsun. Bunlar: ID, Name, Surname ve BirthDay olsun.
Sonra yapacağımız işlem, veritabanıyla ilişki kurmamızı sağlayacak StudentDBContext class’ını olşturmak. Bu class EntityFramework kütüphanesinde bulunan DbContext class’ından türeyecek. Bu class’ı hemen Student class’ının olduğu yerde oluşturabiliriz.
Yazdığımızda doğal olarak DbContext görünmeyecek. Bunun için EntityFramework’u projemize ekliyoruz. Bunun için yapmamız gereken projemize sağ tıklayıp ‘Nuget Package Manager’ a gitmek olacak.
EntityFramework’u kurduğumuzda DbContext gelmiş olacak.
Model kısmıyla işimiz bitti. Controller kısmına gelerek, ‘StudentsController’ oluşturuyoruz. Controller’in içinde CRUD(ekleme,okuma,güncelleme,silme) işlemlerine ait methodlar olacak. Bunları tek tek yazmak yerine Scaffolding kullanacağız. Böylece vakit kazanacağız. Daha karmaşık modellerde oluşan hazır methodlar üzerinde değişiklikler yapılarak projeye uygun hale getirilebilir.
Şimdi bir tane controller oluşturalım. Controller klasörüne şekildeki controller tipini ekleyelim.
Eklerken Model ve Data context class’larımı seçmemizi isteyecek.
Seçip ekledikten sonra bu hatayla karşılaşacağız.
Projemize sağ tıklayıp rebuild yapıyoruz. Tekrar controller eklemek için gereken işlemleri yapıp tamamlıyoruz. Bu hatayla karşılaşmamak için her controller oluşturmadan önce rebuild yapmanız gerekiyor.
‘Generate Views’i işaretleyerek modelimizin view’lerinin oluşmasını istemiştik. Böylece controller oluşurken Views klasörünün altında ‘Student’ modelinin view’leri oluşmuş oldu.
Şimdi projemizi veritabanına bağlamamız gerekecek. Bunun için Web.config içine connectionstring’imizi ekliyoruz. Şekildeki 1 numaralı yere kendi servername’mimizi ve 2 numaralı yere de kendi oluşturduğumuz veritabanının ismini girerek veritabanına bağlantımız sağlanacak. Veritabanındaki tablolar ise projeyi ilk çalıştırdığımızda oluşacak. (Code First)
Projemizi çalıştırıyoruz. Localhost:xxxxx/Students/Create dizinine geldiğimizde bizi ekleme formu karşılıyor olacak.
Başarılı bir eklemeden sonra bize tüm öğrencilerin bulunduğu index sayfasına yönlendirecek.
Bunların yanında Edit, Details, Delete sayfaları da mevcut olacak.
Umarım yararlı bir yazı olmuştur. Kolay gelsin.