Merhabalar. Entity Eğitimlerimize bir önceki yazımızda kaldığımız yerden devam ediyoruz.

Bu yazımda oluşturulan modeli detaylı bir şekilde inceleyeceğiz.

Bir Entity Framework modeli oluşturulduğunda işlemlerin yapılabilmesi için gerekli olan Dll dosyalarıda projeye eklenir. Bunları Reference sekmesi altında görebilirsiniz.

Bunlar ilgili Dll dosyalarımızdı.



Entity klasörümüzü açtığımızda modelimiz için .edmx uzantılı bir nesnenin oluştuğunu göreceğiz.

edmx Nedir? Entity Data Model kısaltmasıdır. Sondaki x ise bunun bir XML tabanlı çalışan bir nesne olduğunu gösterir.

NorthwindModel.edmx üzerine tıklarsanız. Size diagram modelini gösterecektir.

Model edmx altında 4 tane dosya görüyoruz.

Bunların birisi bizi veri tabanıyla haberleştiren Context dosyası. Birazdan detaylıca bakacağız.

2. Sırada Designer var. Tıklayıp bakabiliriz.

Burada bize T4 Text sisteminin açık olduğunu kodlama yapısını değiştirmek istersek neler yapabileceğimizden bahsediyor.

Bu sayfayla çok fazla işimiz yok.

Bir tanesi modelin Digramını gösteriyor. Bu dosyalara çok fazla müdahale etmiyoruz. Ama ne olduğunu bilsek yeterli.

3. Sırada edmx.diagram var. İlk ekranda gördüğümüz diagramın bütün bilgileri bu xml dosyası altında tutuluyor. Tıklayıp bakabilirsiniz.

Gördüğünüz gibi modelde tablo yapılarının genişliği bulunacağı konumlar gibi veriler bu xml üzerinden sağlanmakta.

4. Sırada ise model.tt dosyamız var. Burada kodlar da bulunan sekmeyi genişlettiğimizde karşımıza çıkacak entity nesnelerini oluşturuyor. Tablolar arası ilişkiler buradaki kodlar sayesinde düzenleniyor ve Mapping işlemi buradan kontrol ediliyor.

Şimdi Context sınıfımıza göz atacağız. Çünkü burada bizi ilgilendiren en önemli yer burası.

Context.tt dosyası veri tabanı üzerinde işlem yapacak modeli oluşturur. Ve bunu kontrol eder.

Biz şimdi Context sınıfımızı inceleyelim. Aşağıda gösterildiği gibi dosyaya ulaşalım ve açalım.

Context sınıfı bunca işlemi yapabilmesi için öncelikle bir classdan inherit almalıdır. O da DbContext sınıfıdır.

Constructor oluşturulur ve App.config dosyasında kayıtlı olan server adresine ve veri tabanına ulaşması sağlanır. Bunun için name kısmına connection stringdeki name yazılır.

Şimdi App.config dosyasını açıp bir kontrol edelim.

İncelediğinizde zaten kolayca anlayacaksınız.

Context sınıfında biraz aşağıya doğru baktığımızda var olan tablolarımızın işlediğini görürüz. Burada var olmayan hiç bir entity classı üzerinde işlem yapamayız.

Modeli ilk oluşturduğumuz Plurize özelliğini aktif ettiğimiz için oluşturulan tablo isimlerinin sonuna bakarsanız birer s takısı ingilizce kurallarına göre gelmiştir.

EF’nin yapısına böylece daha yakında bakmış olduk. Artık bize düşen kısmına biraz kodlamaya geçeceğiz.

Bir sonraki yazıda görüşmek dileğiyle.


muratbilginer