Entity Framework
Entity Framework ORM araçlarından biridir. ORM’nin açılımı
Object Relational Mapping’ dir .ORM (Object
Relational Mapping) veritabanı ile
nesneye yönelik programlama (OOP) arasındaki ilişkiyi kuran teknolojidir.
Yani Entity Framework, nesne tabanlı programlamada
veritabanındaki tablolara uygun nesneler oluşturma tekniğidir. Bu
araçlar, veritabanı işlemlerini nesneler üzerinden yapmamıza olanak sağlayan
yapılardır. Veritabanında bulunan her tabloya karşılık gelen bir nesne
bulunmaktadır. Veritabanına ekleme, silme, listeleme vb.. işler bu nesneler
kullanılarak, güvenli ve hızlı bir şekilde yapılır. ORM araçlarının diğer bir
özelliğide veritabanı bağımlılığını ortadan kaldırmasıdır.
Günümüzde
kullanılan birçok ORM aracı bulunmaktadır. Örneğin; Java tabanlı olarak
Hibernate, Flex’de Athena Framework, Delphi’de ECO gibi. Entity Framework ise
Microsoft tarafından geliştirilen .Net tabanlı bir ORM aracıdır.
Neden Entity ?
.Net projelerimizde
farklı ORM araçları kullanmamızda mümkün, örneğin nHibernate. Bizim Entity’ i
seçmemizdeki en büyük etken, Microsoft’ un ürünü olması ve Visual Studio ile
birlikte gelen özelliklerle birlikte çok daha etkin kullanılabiliyor olması.
Entity Framework ile kolayca CRUD
işlemleri yapılabilir.
Veritabanı olarak esnek yapıya sahiptir.
Örneğin yazdığınız proje MSSQL ile çalışmakta ve birden Oracle’a geçmeniz
istendi. Bunu yapabilmek için birçok ayar gerekirken Entity Framework ile
direkt geçiş yapabilirsiniz.
Veritabanı bağımlılığı yoktur. Yani
Entity Framework’ü oluşturmadan önce veritabanı tablo ve kolonlarını
oluşturmalısınız gibi bir kural yoktur. Siz Entity Framework ile modellemeyi
yaparken olmayan tabloları ve kolonları sizin yerinize açacaktır.
Veritabanı işlemleri ile ilgili kod yazımı
en aza ineceğinden minimum zamanda maksimum iş çıkartmayı sağlar.
Entity Framework’ün
temelinde üç yapı vardır. Bunlar Code
First, Database First ve Model First
dediğimiz yapılardır. Bunları kısaca açıklamak gerekirse;
Database First
Database
first yaklaşımında hali hazırda var olan veritabanınızı kullanmanıza olanak
sağlar. SQL Server, Oracle, MySql gibi
ortamlarda tasarlanan veritabanını projeye ekleyebilirsiniz. Ancak
veritabanında yapıcağınız değişiklikleri bu ortamlarda manuel olarak yaptıktan
sonra yapılan değişikliklerin projenize yansıması için eklediğiniz database’ yi
güncellemeniz gerekir.
Model First
Model firt yöntemi Visual Studio
ortamında görsel olarak çalışmaya olanak sağlar. Örnek olarak, tablo nesnesi
oluşturup içine alanlar tanımlayıp tabloları birbirine görsel olarak
bağlayabilirsiniz. Tüm veritabanı yapısı önünüzde bir şema olarak ortaya çıkıyor. Bu
Veritabanını VS.Net ortamındaki araçlar ile gerçek bir veritabanı içine
aktarılır ve SQL serverde içinde primary keyler vb. fiziki olarak oluşturulur.
Code First
Code first yapısı daha çok
kullanıcıya özgürlük sağlayan hakimiyetin kullanıcıda olduğu, veri erişimin kod
merkezli olan bir yöntemdir. Bir class yapısında verilerin kullanıcı tarafından
kodlarla yapılır ve veritabanı otomatik oluşur . Veri erişimi mekanizmasında
yer alan değiştirme noktalarından müdahale ederek veri erişim yapısını
kendinize göre özelleştirmenizi sağlar. Database First, Model First
yaklaşımları gibi herhangi bir designer yada xml eşleştirme dosyasına ihtiyaç yoktur.
Yorumlar
Yorum Gönder