C# logo

Merhaba arkadaşlar bugün sizlere Entity Framework nedir? Entity Framework türleri nelerdir? Entity Framework’un avantajları ve dezavantajları nelerdir? gibi sorulara cevap verip bir tane de Entity Framework ile C# Form üzerinden listeleme işlemlerini yaptığımız bir kod örneği oluşturacağız.

Entity Framework Nedir?

Entity Framework, Object Relational Mapping (ORM) araçlarından birisidir. Peki ORM Nedir? ORM, ilişkisel veritabanları ile nesneye yönelik programlama (OOP) arasında bir köprü görevi gören ve veritabanındaki verileri yönetmek için kullanılan bir programlama teknolojisidir ve SQL komutlarına gerek olmadan bizlere yazılım geliştirme imkanı sunar. Bunları az sonra bir örnek üzerinden daha net anlayacaksınız. Şimdi avantajlarına ve dezavantajlarına bakalım.

Entity Framework Avantajları Nelerdir?

  • Çok daha az kod ile çalışma imkanı sunar.
  • Daha az kod ile çalıştığımız için kısa sürede çok iş yapmamızı sağlar.
  • CRUD işlemleri olarak bildiğimiz Create, Read, Update, Delete işlemlerinin uzun kodlarından kurtulmamıza imkan sunar.
  • Nesneye yönelik programlama(OOP) ile kod yazılmasına olanak sağlar.
  • Entity Framework’un bir veritabanı bağlımlığı yoktur.
  • Entity Framework bizlere oldukça esnek bir yapı sunmaktadır.

Dezavantajları Nelerdir?

  • Performans olarak baktığımızda ADO.NET kadar hızlı çalışmamaktadır.
  • Veritabanı kullanımı sırasında bilgi alışverişi yaparken kontrol tamamiyle bizde değildir.
  • Çok basit veri işlemleri için karmaşık sorgular gönderebilmektedir.
  • Her ne kadar veritabanı bağımlılığı olmasa da nesne bağımlılığı vardır.

Bu dezavantajları indirgemenin yöntemleri de mevcuttur. Bunları da sonraki yazılarımda paylaşacağım.

Entity Framework Türleri Nelerdir?

  • Database First ( Var Olan Veritabanını Kullanma ) : Bu yöntemi kullanarak daha önce oluşturulmuş olduğumuz veritabanını projemize model olarak bağlayabiliriz. Database First yöntemini kullandığımızda gerekli sınıflarımız Entity Framework tarafından oluşturulacaktır.
  • Model First ( IDE İle Yeni Veritabanı Oluşturma ) : Bu yöntemi kullandığımızda IDE ( Visual Studio ) üzerinden boş bir model dosyası oluşturarak veritabanını bu model üzerine tasarlamamıza imkan sağlıyor.
  • Code First ( Kod Yazarak Yeni Veritabanı Oluşturma ) : Bu yöntemde sınıflarımızı IDE ( Visual Studio ) ile oluştururuz. Veritabanımız bu oluşturduğumuz sınıflardan ( class ) oluşur.
  • Code First ( Var Olan Veritabanını Kullanma ) : Bu yöntemi uygularken kodlarımızı ve sınıflarımızı kendimiz oluştururuz. Veritabanımız, sınıfların ve modelin durumuna bakılarak güncellenir.

Buradaki türlerden şu an DB First yaklaşımını kullanarak bir örnek proje anlatacağım. Bu yazımda sadece listeleme yapacağım fakat ilerleyen zamanlarda Entity Framework ile CRUD işlemleri yapacağız.

C#Form ile Örnek Proje

Öncelikle Visual Studio üzerinden C# Form uygulamasını seçiyorum. Herhangi bir isim verebilirsiniz ben bundan sonraki süreci görsellerle anlatacağım. Örneklerde yeni başlayanlarda düşünülerek Türkçe Visual Studio kullanılmıştır. İngilizce kullananlarda az çok anlayacaklardır.

Adım 1)

Çözüm gezgininden projemize sağ tıklayıp Ekle > Yeni Öğe kısmına tıklıyoruz.

Entity Framework ekleme adım 1

Adım 2)

Açılan pencerede ADO.NET Entity Data Model seçeneğini seçiyoruz.

ADO.NET Entity Data Model seçimi Adım 2

Burada Model1 yerine başka bir isim de verebilirsiniz.

Adım 3)
Açılan pencerede Database First kullanacağımızı seçiyoruz.

DBFirst seçimi Adım 3

Adım 4)

Kullanacağımız veritabanı adını seçiyoruz. Ben basit bir stok veritabanı oluşturdum. Buradaki stok bilgilerini EF kullanarak tabloya çekeceğim.

Adım 4 Veritabanı seçimi

Adım 5)

Kullanacağımız EF versiyonunu seçiyoruz. Entity Framework 6.x seçebilirsiniz.

Adım 6)

Ekrana gelen pencereden kullanacağımız tabloları seçiyoruz. Ben Tbl_Urunler tablosunu kullanacağım.
Veritabanından tablo seçimi Adım 6Son dedikten sonra modelimiz oluştu. Ekrana aşağıdaki gibi tablomuzun bir görseli çıkacaktır.
Veritabanından eklenen tablonun bir görüntüsüBuraya kadar yaptıklarımız EF DBFirst yaklaşımı kullanarak Veritabanındaki bir tabloyu projemize dahil etmekti.

Adım7)

Şimdi C# Form ile Button ve DataGridView nesnelerini kullanarak bir veri listeleme ekranı tasarlayalım.

C# form veri listeleme ekranı tasarımı

Son adım olarak butona tıklandığında çalışacak kodlarımız. Buradan inceleyebilirsiniz.
Entity Framework kullanarak listeleme kodları

Çalıştığı andaki ekran görüntüsü ise aşağıdaki gibidir.
Verilerin listelendiği ekran görüntüsü
Okuyup bir şeyler katabildi isek yorum yaparak destek olmayı unutmayınız. Bu yazının hazırlanmasındaki büyük katkılarından dolayı Mustafa Ekinci arkadaşıma teşekkürlerimi iletiyorum.
Diğer  C# Form örneklerime buradan ulaşabilirsiniz.

Bunlara Göz Atmak İsteyebilirsiniz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir