Ana içeriğe atla

ASP.NET MVC ile Entity Framewok Kullanımı 1

Merhaba Arkadaşlar,

Bu yazımızda ASP.NET MVC Web Programlamada çok fazla kullanılan ve çok popüler bir paket olan Entity Framework paketini inceleyeceğiz. Entity Framework paketi, .NET altyapısı ile veritabanı programlama yapanlar için kullanımı kolay ve çok esnek bir pakettir. Entity Framework ile veritabanı üzerinde SELECT,INSERT,DELETE ve UPDATE gibi işlemleri yapabiliriz. Bunun yanında veritabanı üzerinde oluşturulmuş olan stored procedureleri çalıştırabiliriz. Peki programcılar neden Entity Framework tercih ediyor ? Performans, işlem çeşitliliği ve kodun okunurluğunun artması gibi sebeplerden ötürü tercih edilmektedir.



Entity Framework paketini kullanmadan önce bu paketi projemize yüklemeliyiz. Bunun için Nuget Manager kullanarak yükleme işlemini yapmamız gerekiyor.  Projemizin seçeneneklerinde Manage Nuget Packages seçeneği ile paket yöneticisini açıyoruz(Resim 1). Daha sonrasında, Entity Framework kelimesini aratıyoruz ve install ediyoruz(Resim 2).

Resim 1



Resim 2

Artık Entity Framework paketini kullanmaya hazırız. İlk aşama olarak,hazır oluşturulmuş bir veritabanına bağlanalım ve buradaki bir tablodan kayıtları çekelim. Veritabanına bağlanmak için projemizde bulunan Models klasörü altına yeni bir ADO.NET Entity Model eklememiz gerekiyor.(Resim 3). Model eklemek istediğimizde EF Designer from Database seçeneğini seçip(Resim 4) Yeni bir veritabanı bağlantısı oluşturuyoruz(Resim 5).

Resim 3


Resim 4


Resim 5


 Bağlantı bilgilerinde, Server Name kısmına veritabanımızın bulunduğu server ismini yazıyoruz. Authentication bölümüne ise bağlantı yolumuzu seçiyoruz. SQL Server veritabanına hem Windows Yetkisi ile hem de SQL Server Yetkisi ile bağlanabiliriz. Bu örnekte Windows yetkisi bağlanıyoruz.Veritabanı ismine ise bağlanmak istediğimiz veritabanın ismini yazarak işlemleri tamamlıyoruz.(Resim 6)

Resim 6



Daha sonraki adımda,veritabanına başarılı bir şekilde bağlantı sağlanırsa, Entity Framework bize hangi veritabanı nesnelerini uygulama katmanında kullanmak istediğimizi sorar. Burada tablolar,veritabanında kullanılan view'lar ve stored prosedürlerin hepsini ya da içlerinden sadece istediklerimizi seçmekte özgürüz. Ben bu örnekte sadece 2 adet tablo yükledim ve View ve Stored Procedure yüklemedim.(Resim 7)

NOT : Siz istediğiniz tüm nesneleri de yükleyebilirsiniz. Demo olduğu için temsili bir kısmını yükledim sadece.

Resim 7


Veritabanı bağlantısını ve istediğimiz nesneleri uygulama katmanına çektikten sonra örnek olması adına projemizde bulunan HomeController altına Çalışanları listeleyen bir ActionResult koydum. ActionResult içindeki kodlar aşağıdaki gibidir.




1
2
3
4
5
6
7
  public ActionResult CalisanListele()
        {
            AdventureWorks2016Entities db = new AdventureWorks2016Entities();
            List<Employee> CalisanlarListesi = new List<Employee>();
            CalisanlarListesi = db.Employees.ToList();
            return View(CalisanlarListesi);
        }


 AdventureWorks2016Entities db = new AdventureWorks2016Entities();
Bu kod bloğu ile bağlantısını yaptığımız veritabanından bir instance oluşturuyoruz.
 List<Employee> CalisanlarListesi = new List<Employee>();
Veritabanı içindeki Employee tablosunun kayıtlarını içeren Employee cinsinden bir liste oluşturuyoruz.
 CalisanlarListesi = db.Employees.ToList();
İlk adımda oluşturduğumuz "db" ismindeki veritabanı instance'ını çağırarak içindeki Employee kayıtlarını liste şeklinde CalisanlarListesi'ne kayıt ediyoruz.
return View(CalisanlarListesi);
Oluşturduğumuz view'a listelemesi için data olarak CalisanlarListesini gönderiyoruz.


Kodlamış olduğumuz ActionResult'ın bize çalışanları listelemesi için bir tane view oluşturmamız gerekiyor. Employee modelini baz alan Liste şablounlu bir view oluşturdum.

Resim 8





CalisanListele ActionResult'ını çalıştırdığmızda ise aşağıdaki gibi liste şeklinde personellere erişiyor olacağız.(Resim 9)

Resim 9








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

ASP.NET MVC ile Entity Framework Kullanımı 3(Sum-Average-Top)

Merhaba Arkadaşlar, ASP.NET MVC ile Entity Framework kullanımı yazılarımıza devam ediyoruz. Geçen yazılarımızda Select ve Insert işlemlerini tanıtmıştık kısaca. Bu yazımızda ise,Entity Framework ile daha profesyonel ve advanced select operasyonları üzerinde çalışmalar yapacağız. Veritabanı üzerinde,iş biriminin istekleri basit select sorgusu ile olmayabiliyor. Bizden çekilen verilerin toplanması,ortalanmasının alınması ve ilk "x" kayıdın çekilmesini talep edebiliyorlar. Bu nedenle bu hafta Entity Framework ile Select operasyonlarında gruplama,sıralama ve top konularını inceleyeceğiz. Entity Framework İle Sum Kullanımı Bazen elde edilen verilerden toplam operasyonu gerekmektedir. Bu tarz durumlarda,SUM özelliğini kullanmaktayız. İlk etapta, GetTotalRate isminde integer değer geri veren bir fonksiyon oluşturduk. Daha sonrasında ise ToplamRate isimli değişkenimize EmployeePayHistories tablosunda Rate alanlarının toplam değerini hesaplatıp sonucu atadık. En s...

ASP.NET MVC ile Cookie Kullanımı

Merhaba Arkadaşlar, Şubat ayı itibari ile ASP.NET MVC üzerine yazılar paylaşacağız. Yaklaşık 10-13 tane MVC serisi yapmayı planlıyorum. Kendi çalışmalarımda kullandığım bazı kavramları burada paylaşıyor olacağım.   Bu hafta Cookie yönetimi üzerinde yoğunlaşacağız. Türkçe olarak çerez şeklinde lanse edebiliriz bu terimi. Web programlamada çok fazla kullanılmaktadır. Client(istemci)'ın bilgisayarına gönderilen bilgi dosyalarıdır ve yazılım tarafından belirlenen koşullarda saklanır gerektiğinde kullanılmak üzere. Cookie'nin hem iyi hem de kötü kullanım örnekleri vardır. Mesela, bir login sisteminde parolanızın otomatik olarak hatırlanması ya da login durumda bulunduğumuz bir sayfayı kapadığımızda ve açtığımızda tekrar otomatik olarak login durumda bulunmamız iyiye kullanım örneğidir.   Kötüye kullanım ise, bazı web siteleri bilgisayarınıza 1 yıllık cookie'ler(çerezler) g...