Entity Framework nedir?
July 2, 2010 – 11:33Hatırlarsanız “Hibernate nedir?” adlı yazımda Hibernate’in Java platformunda yazılmış bir ORM (Object/Relational Mapping) aracı olduğunu anlatmıştım. Bununla birlikte bir de C# versiyonu olan NHibernate’den bahsetmiştim. “Hibernate nedir?” makalesi çin tıklayınız.
Microsoft, bildiğimiz üzere .net Framework 3.5 ile birlikte Hibernate benzeri, LINQ yapısının kullanılabildiği ADO.NET Entity Framework adıyla bir teknoloji ortaya çıkardı. Bu teknoloji Visual Studio 2008 SP1 ile birlikte geliyor, ve Visual Studio’nun o hoş görünümlü 2010 versiyonunda da direkt olarak mevcut.
Neyse, gelelim konumuzun aslına. Önce ORM(Object/Relational Mapping) nedir, kısaca bir açıklayalım: ORM, veritabanındaki her bir nesneye karşılık (Tablo,satır,kolon vb.), kod tarafında bir obje yaratan(class, obje vb.) bir teknolojidir. Yukarıda da belirttiğim gibi bu teknoloji önce Java’da kullanıldı, ve Hibernate ile geldi. Ancak Microsoft bunu görünce durur mu, çokça kullanılmaya başlanan bu teknolojiyi .NET’e de ekledi.
Şimdi yavaş yavaş Entity Framework’u incelemeye başlayalım:
Entity Framework Yapısı
.gif)
Entity SQL: Entity Framework’te sql komutlarını kullanmamızı sağlayan yapıdır.
LINQ to Entites : Entity Framework ile oluşturulan sql sorgularının denetimini ve Object servise gonderilmesini sağlayan yapı.
Object Services: Entity Frameworkte kullanılan EntitySQL ve LINQ to Entities ‘e yardımcı olur.
Entity Client: Yazılmış olan sql ve linq kodlarının veritabanına uygulanmasını sağlayan ara birimdir.
ADO.NET Providers : ADO.NET sağlayıcılarının bulunduğu kısımdır. Veritabanı işlemleri burada yapılır.
-Yazılan kodlar linq to entites tarafından denetlenir
-Bunlar object servicese gönderilir
-Object services gönderilen bu kodları yorumlar ve entity cliente gönderir
-Daha sonrada ADO.NET sağlayıcıları kullanılarak veritabanı işlemleri geçekleştirilir ve buradan kullanıcıya dönüş yapılır.
Bu yazıyı genel tanımlara ayırmak amacında olmuş olup, bir dahaki yazımda detaylı Entity Framework işlemlerini anlatacağımdan, yazımı burada sonlandırıyorum.
Dökümana buradan da erişebilirsiniz.
M.Aykut Bulgu
