Entity Framwork nedir, ne işe yarar?
Aklımdayken direk konuya girmek istiyorum. :)
Entity Framework (özellik çerçevesi) .Net Framework 3.5 SP1 ve Visual Studio 2008 ile kullanıma sunulmuştur. EF yi daha iyi anlamak için kesinlikle ORM nedir sorusuna cevap aramamız gerekir.
Peki ORM nedir?
Açılımından başlayalım, "Object Relational Mapping" diğer bir deyişle, ilişkisel veri tabanları ile nesneye dayalı uygulamalar arasında köprü görevi görür aslında.
Uygulama geliştirirken veritabanında oluşturduğumuz tablolar, kolonlar, data tipleri, kayıtlar ne varsa, classlara, propertilere, objelere dönüştürülerek veritabanına direk erişim sağlamaksızın tüm işlemlerini gerçekleştirebilir.
Delete, Update, Select, Insert gibi sorgular ORM tarafından algınalanarak otomatik olarak SQL kodları oluşturulur, kod üretir. (camiada kullanılan genel ismi Code Generator :) )
Birçok ORM aracı vardır. Entity Framework ise Microsoft tarafından geliştirilmiştir.
EF Avantajları
- Böylece artık Veritabanındaki kodlarla uğraşmayacağımız için zamandan kazanç sağlar.
- Nesne tabanlı programlamaya göre yazmayı sağlar.
- Veritabanı bağımlılığını ortadan kaldırmış olur.
- Ayrıca (open-source) açık kaynak kodludur.
EF Dezavantajları
- Performans açısından sorunlar açığa çıkabilir.
- Veritabanı işlemlerinde doğrudan müdahale söz konusu değildir.
- Kod üretirken fazladan üretilen kodlar zaman kaybına yol açar.
Kısaca Entity Framework den bahsetmeye çalıştım. Faydalı olması dileğiyle...

.png)