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

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