Ana içeriğe atla

ASP.NET MVC ile Entity Framework Kullanımı 2

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.

Resim 1



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);
       
               }
       

Resim 2



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

Bu blogdaki popüler yayınlar

Powershell ile Web Tarayıcı Cookie Temizliği

Web tarayıcıların ürettiği cookie ve minik boyuttaki veriler uzun bi süre temizlenmediği durumda yüksek boyutlara ulaşabilir ve bilgisayarımızın performansını kötü etkileyebilir. Bu tarz cookie temizliği ve yönetimi işlemlerinin periyodik olarak yapılması bilgisayarımızın performansı arttıracak ve disk alanı üzerinde bize bir miktarda olsa yer kazandıracaktır. Bu tarz işlemleri yapan programlar internette mevcut ancak bazılarının güvenilirliği tartışılır ve cookie temizliği işlemini periyodik olarak yapmıyor. Powershell ile arkaplan işlerini ve browser yönetimi özelliklerini kullanarak cookie yönetimini ve temizliğini periyodik olarak gerçekleştirmek mümkün. Bu sayede hem güvenlik konusunda hem de işlevsellik konusunda kullanıcı dostu bir modül yapmak mümkündür. Aşağıdaki powershell komutları browser üzerindeki cookie temizliği işlemini yapmaktadır. Not: Cookie Temizleme işlemini yapan fonksiyon aşağıdaki github projesinden alıntıdır. Bu scriptin üzerine birkaç ekl...

Powershell ile Windows Restart Kontrolü

Powershell ile Windows üzerinde birçok işlemi daha kolay ve daha kısa sürede yapabilmek mümkündür.  Microsoft, PowerShell'i "görev tabanlı .NET Framework üzerine inşa edilmiş komut satırı shell'i ve komut dizesi olarak tanımlıyor. Powershell'in avantajlarını ise aşağıdaki maddeler ile özetlemek mümkündür. Powershell hem command-line olarak hemde bir scripting language olarak çalışmaktadır. Powershell baş döndürücü sayıda teknolojiyle etkileşim kurabilir.(.NET Framework, the Registry, COM, WMI, ADSI. Exchange, Sharepoint, Systems Center, Hyper-V, SQL.  VMware vCenter , Cisco UCS, Citrix XenApp and XenDesktop. REST APIs, XML, CSV, JSON ...) Powershell nesne tabanlıdır.(Object-Oriented) Bilgisayarımızda ya da sunucumuzda zaman zaman yüklediğimiz programlar ve patchler sonucunda restart işlemi gerekebilir ve bu restart işlemi gerekip gerekmediğini tespit etmek için Powersehell kullanılabilir.  Aynı anda 100 sunucuda bunu öğre...

ASP.NET Core ile Visual Studio Code Ortamında Web API Geliştirmek

Merhaba Arkadaşlar, Önceki yazılarımızda MVC ile Web Programlama üzerine çalışmalar yapmıştık. Bu yazımda herkesin aklında bir fikir ve önbilgi oluşturmak adına MVC yapısından farklı olarak Web API konusuna giriş yapacağız. MVC yazılarına bu hafta devam etmedik çünkü MVC'ye devam ettikçe bazı kavramlar ve işlemler API ile daha kolay çözülebileceğini fark edeceksiniz. Bunu fark etmeniz için araya hem bir Web API yazısı koymuş olduk hem de .NET Core 2.0 ve Visual Studio Code ortamlarını tanımış olduk. Herşeyi ezbere bilmek zorunda değiliz ama en azından bazı kavramlar aklımızda yer etmeli bir önbilgimiz olmalı. Uzmanlığımız dışında bile olsa farklı konularda az da olsa bilgimiz olmalı ve gerektiğinde kendimizi farklı bir alanda diğer kişilerden daha hızlı uzmanlık kazanacak konuma getirmeliyiz :) Benim yorumlarım bu şekilde. Konumuza başlayacak olursak .NET Core nedir kısaca özetlemek gerekecek. Microsoft’un öncelikle IIS üzerinde PHP dosyalarının çalıştırılabilmesi daha ...