Merhaba Arkadaşlar,
Bu yazımızda ASP.NET MVC Framework kavramına bir önceki yazımızda bahsetmiştik. Bkz. ASP.NET MVC ile Entity Framework Kullanımı 1.
İkinci yazımızda, MVC Framework kullanarak select ve insert işlemlerini yapacağız. Entity Framework kullanım avantajlarını ve veritabanı bağlantı işlerinden yine ilk yazımızda bahsetmiştik. Bunların üzerine,select işlem tiplerini ve insert işlem örneklerini yapacağız. Bunun için PersonelDB isminde bir veritabanı üzerinde bu işlemleri tamamlayacağız. Veritabanı download etmek için makale sonundaki indirme linkini kullanabilirsiniz :)
Entity Framework Select İşlemi
Entity Framework'te select işlemlerinin birkaç farklı çeşidi vardır. Örnek olarak, ya tüm tabloyu select etmek istenebilir ya da belirli koşullar altında bir select sorgusu yazmak mümkündür. Where koşulu barındıran select işlemi için Personeller tablosundaki Müdür tipindeki personelleri getiren MudurListesi isimli bir ActionResult oluşturulur.
1 2 3 4 5 6 7 | public ActionResult MudurListesi() { PersonelDBEntities db = new PersonelDBEntities(); List<Personnel> CalisanlarListesi = new List<Personnel>(); CalisanlarListesi = db.Personnels.Where(p => p.PersonelType == "Müdür").ToList(); return View(CalisanlarListesi); } |
PersonelDBEntities db = new PersonelDBEntities();
|
Bu kod bloğu ile bağlantısını yaptığımız veritabanından bir instance oluşturuyoruz.
|
List<Personnel> CalisanlarListesi = new List<Personnel>();
|
Veritabanı içindeki Personel tablosunun kayıtlarını içeren Personel cinsinden bir liste oluşturuyoruz.
|
CalisanlarListesi = db.Personnels.Where(p => p.PersonelType == "Müdür").ToList();
|
İlk adımda oluşturduğumuz "db" ismindeki veritabanı instance'ını çağırarak içindeki Personel kayıtlarından müdür tipindeki personelleri oluşturduğumu list'e atayan kod bloğu.
|
return View(CalisanlarListesi);
|
Oluşturduğumuz view'a listelemesi için data olarak CalisanlarListesini gönderiyoruz.
|
Entity Framework Insert İşlemi
Entity Framework ile insert işlemini anlamak ve yapmak için HTTPGET ve HTTPOST kavramlarını anlamak gerekiyor. HTTPGET/POST tanımları ActionResultların başına yazılır. Aşağdaki kod bloğunda ilk YeniPersonel ActionResult'ı GET tipinde bir ActionResult'tır bu nedenle sadece personel kayıt için olan gerekli alanları getiren view'ı yansıtır. İkinci YeniPersonel ActionResult'ı ise HttpPost tipinde bir ActionResult'tır ilk YeniPersonel'den gelen verileri bu ActionResult içinde veritabanına post ederiz ve kullanıcıya bildirimde bulunuruz.
Aşağıdak görülen view içine gerekli bilgileri yazıp create dediğimiz zaman HttpPost aksiyonuna gider ve görüldüğü üzere gerekli bilgleri veritabanına işler.(Resim 2)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public ActionResult YeniPersonel() { return View(); } [HttpPost] public ActionResult YeniPersonel(Personnel yeniPersonel) { Personnel EklenecekPersonel = new Personnel(); EklenecekPersonel.PersonelName = yeniPersonel.PersonelName; EklenecekPersonel.PersonelLastName = yeniPersonel.PersonelLastName; EklenecekPersonel.PersonelType = yeniPersonel.PersonelType; return View(EklenecekPersonel); } |
Proje ve proje veritabanı için bana e-mail yoluyla ulaşabilirsiniz. Diğer sorularınız ve görüşleriniz için aşağıdaki mecralar üzerinden iletişime geçebilirsiniz.
Bu arada yakında github repositorylerimizi de yayınlamaya başlayacağız. Yazılım Geliştirme ve Scripting üzerine çalışmalara katılmak isteyenler github adresimi takip edebilir.
Yorumlar
Yorum Gönder