Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Conceptual Model: Bu alanda model sınıflarımız ve bu sınıfların ilişkileri yer alacaktır. Bu sınıflar veritabanı tasarımınızdan bağımsız olacaktır.
Storage Model: Bu alanda veritabanı tasarım modelimiz yer alır. Bu model içerisinde veritabanımıza ait tablolar, view'lar, stored procedure'ler ve bunlara ait ilişkiler ve key'ler yer alır.
Mapping: Bu alan ise model sınıflarımız ile tasarım modelimiz arasındaki haritalama işlemlerinin bilgilerinin tutulduğu alandır.
LINQ to Entities: Nesneleri sorgulamada kullanacağımız sorgulama dilidir. Bu sorgular bize model sınıflarını döndürecektir. Bu alanda LINQ'in yeteneklerini de kullanabiliriz.
Entity SQL: Yine LINQ to Entities gibi sorgulama yapabileceğimiz bir sorgulama dilidir. Ancak Linq To Entities'e göre daha zordur.
Object Services: Veritabanından sorgulama sonucunda alınan verilerin geri döndürülme aşamasında gereken convert (dönüştürme) işlemlerinin yapıldığı alandır.
Entity Client Data Provider: Bu alanın sorumluluğu hazırlanan LINQ to Entities yada Entity SQL sorgularını ADO.Net Data Provider'a gönderilmek üzere anlaşılır SQL sorgularına dönüştürmektir.
ADO.Net Data Provider: Bu katman ise standart ADO.NET kullanarak veritabanı ile iletişim kurar.
KISACA : Entity framework'ün aslında temel amacı uygulama geliştiricinin data işlemleri ile çok haşır neşir olmadan uygulama tarafına odaklanmasını saglamaktır.
ORM yani Object Relational Mapping, veri tabanınızdaki tabloları Class’lara, kolonları Property’lere, tabloların içindeki kayıtları da Object’lere dönüştüren ve tüm bu dönüşün sonucunda oluşan Class’lar ve objeler üzerinden veri tabanı işlemlerinizi yapmayı sağlayan bir teknolojidir.
Avantajları ;
OOP olarak kod geliştirmeye imkan sağlamaktadır.
SQL bilmeden bir veri tabanına bağlanabilir ve SQL ile ilgili birçok işlemi rahatlıkla yapabilmek.
Herhangi bir Database bağımlılığı yoktur.
Oldukça esnek bir yapı sağlamaktadır. Yani Oracle kullanıyorken bir anda MS SQL i kullanabiliriz.
Dezavantajları :
Performans. Bir ADO.Net kadar hızlı çalışmamaktadır.
Database den bilgi alış-verişi sırasında kontrol %100 bizde değildir. Bazen oluşturulan SQL ifadelerinde sorun çıkabilir veya biz daha güzel ve hızlı çalışacak SQL ifadeleri yazabileceğimiz durumlar olabilir. Fakat tüm SQL ifadelerini Code Generating ile kendi oluşturduğu için bu bir dezavantajdır.
Veri tabanı bağımsızdır. Fakat uygulama tarafındaki nesneler ile veri tabanındaki nesneler birbirine MAP edildiği için nesne bağımlılığı vardır.
Entity Framework Microsoft tarafından geliştirilen ve yazılım geliştiricilerin katı sql sorguları yazmalarını ortadan kaldırarak bir ORM (Object Relational Mapping) imkanı sağlayan framework'tür. ORM ise ilişkisel veritabanı yönetim sistemlerine direkt olarak müdahale yerine nesneler aracılığı ile müdahale edilmesini sağlayan bir köprüdür diyebiliriz.
Entity framework ile birlikte LINQ (Language Integrated Query) sorgularını kullanarak nesneler üzerinde güçlü bir sorgulama imkanına sahip oluruz. Entity framework'ün bize sunduğu hizmetler başlıca change tracking, identity resolution, ve query translation
Çağrı TÜRKER