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

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 ...

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...

SQL Server Sorgu İyileştirme Çalışması

Performans Ölçüm Kriterleri Bu makale ile SQL Server üzerinde çalışan query'lerin optimize edilmesi için gerekli olan ilk aşama maddeleri ve çözümleri işlenmektedir. Veritabanı üzerinde koşan sorguların optimize edilmesi bu maddeler ile sınırlı olmayıp ayrı bir başlık altında incelenmektedir. Bu makale  konu hakkında sağlam bir temel ve ön fikir edinmek isteyenler için güzel bir kaynak olacaktır. SQL Server üzerinde çalışmakta olan bir sorgunun performans iyileştirme işlemleri için ilk etapta dikkat ve kontrol edilmesi gereken bazı maddeler vardır.  Performans Analizi Kontrol Maddeleri 1.       İlgili T-SQL çalıştırılmadan önce Time ve IO İstatistikleri ON Mode'a alınmalıdır. Bu istatistiklerin açılması ile çalışan T-SQL'in çalışma süresinin detayı(CPU ve Other Time) ve sorguda çalışan tablolar üzerindeki IO istatistiklerinin detayı tespit edilebilir duruma gelmektedir. SET STATISTICS TIME ON SET STATISTICS IO ON SELECT c....