Merhabalar. Entity Eğitimlerimizde ilk olarak Entity yaklaşımlarından biri olan Database First ile projemizi oluşturacağız.

Entity Framework’de 3 farklı yaklaşım vardır. 1.si Database First 2.si Code First 3.sü Model First.

Biz şimdi ilk yaklaşım olan Database First yaklaşımını inceleyeceğiz.

Bu modelde öncelikle, database SQL ya da diğer veri tabanı programlarında hazırlanır.

Sonrasında Database programa bağlanır. Ve bu işlem sonrasında Entity Framework bizim için var olan SQL yapısını Entity modeline dönüştürür. Tüm dosyalarını mapping yapısını oluşturur. Bunun tamamını Entity Framework arka planda kendisi yapar.

Şimdi gelin Visual Studio’da bir C# Form Projesi oluşturalım.

İsmine DatabaseFirst EF6 ismini verelim.

Projemizde Solution Explorerda dosyalarımızın düzenli olabilmesi için Entity isminde bir klasör oluşturalım.

Şimdi bu klasör üzerine sağ tıklayalım ve New Item diyelim.

Açılan Sayfada, bir Entity Model yaratabilmek için bize lazım olacak ADO.NET Entity Data Model nesnesini seçiyoruz.

İsmini NorthwindModel yapabilirsiniz. Ya da siz istediğiniz gibi isimlendirebilirsiniz.

Biz şu anda Database First uygulaması yapacağımız için EF Designer From Database seçeceneğini seçip Next diyoruz.

İngilizcelerinden zaten kolayca ne olduğu anlaşılıyor. Aşağıda açıklaması da yazıyor. Oradan da okuyabilirsiniz.

İlk cümleye bakacak olursak diyorki Bir EF Desingner yaratacağım ve bunu var olan bir veri tabanı üzerinden yapacağım diyor.

Gelen bölümde Server’a bağlanmak için New Connection diyelim.

Açılan sayfada Server’a bağlanıp ilgili Database’i seçeceğiz. Adım Adım takip ediniz.

Burada Server Name’i SSMS üzerinden kolayca öğrenebilirsiniz. Resimdeki alan sizin Server Name’iniz.

Bu server’ı seçince zaten var olan Database’leri aşağıda listelemiz olacak.

Kullanacağımız Database’i seçiyoruz.

Sonrada bağlantığımızda bir sorun var mı diye Test Connection diyelim.

Eğer bir hata yoksa şöyle bir uyarı alacaksınız.

Bu şekilde başarılı ise bağlantı OK diyip bu adımı geçelim.

Burada bize Connection ayarlarımızın App.Config dosyamıza kaydedilip kaydedilmeyeceğini ve hangi isimle erişeceğini soruyor. Save’lemesini istiyoruz. İsmini istediğiniz gibi verebilirsiniz. Next diyelim sonrasında.

Şimdi bize EF versiyonunu soruyor. 6x diyerek. 6. Versiyonu ve üzerini seçiyoruz.

Bu adımdan sonra seçtiğimiz Database ile alakalı ayarlarımız var.

Burada hangi tabloları modele dahil edeceğimizi hangi Views ve Stored Procedur’leri dahil edeceğimizi seçiyoruz. İlk başta dahil etmediğimiz tabloları sonradan da dahil edebilir. Ya da dahil ettiklerimizi çıkarabiliriz.

2. kısımda yine oluşturulacak nesnelerle alakalı bilgiler var. Hepsini işaretliyoruz. Yine çok basit düzey ingilizce ile ne oldukları anlaşılmakta.

Birincisi oluşacak nesnelere ulaşırken eğer database’de tablolar ile nesnelerimiz arasında bir çakışma durumu oluşacaksa bunu önleyecektir.

Veri tabanından gelen sınıfların sonuna “s” takısı ekleyerek isimleri farklılaştırır. Örneğin Customer tablomuz olsun , bu seçeneği seçersek tablonun entity model adı “Customers” olacak.

2.’de İkincil anahtar olan sütunların modele dahil edilmesini istiyoruz.

3. seçenek ise Stored Procedur ve fonksiyonları modele dahil etmek için kullanılıyor.

En son olarak Modelimizin Namespace isimini belirliyoruz. İstediğiniz gibi bir isim yazabilirsiniz. Finish diyoruz.

Buradan sonra kendisi bir süre arka planda modeli oluşturuyor.

İşte modelimiz oluştu. Gördüğümüz şeması. Bütün işlemlerimizi artık buradan yöneteceğiz. SQL kodlarıyla hiç bir işimiz kalmadı. SQL database’i ile ilişkimizi geliştirici seviyesinde bitirmiş olduk. EF bizim için her şeyi kendi halledecek.

Oluşan nesnelerin detaylarına bir sonraki yazımızda bakacağız.

Görüşmek dileğiyle.


muratbilginer