Entity Framework* e Giri

advertisement
Gizem Tanış
Bozok Üniversitesi Öğr. Görevlisi


Veri erişimi için ADO.NET kodunu yazmak ve
yönetmek zordur.
Microsoft, uygulamada veritabanı
aktivitelerini otomatik olarak yapabilmek için
Entity framework olarak adlandırılan bir O/RM
sundu.


Microsoft ADO.NET Entity Framework bir
O/RM framework’tür ki bu yapı, alana özgü
nesneler gibi ilişkisel verilerle çalışmaya izin
veriyor. Entity Framework kullanarak,
geliştiriciler LINQ kullanarak sorgu yazabililir.
Entity Framework bir Object/Relational
Mapping yapısıdır. Veritabanındaki verilere
erişim ve depolama için otomatik bir
mekanizma olan ADO.NET ile geliştirilmiştir.
Entity Framework 3 senaryoda kullanışlıdır
1. Var olan bir veritabanı varsa veya
uygulamanın diğer bölümlerinde bir
veritabanı tasarımı yapmak istersen,
2. Ana classlara odaklanmak istersen ve ana
classlardan bir veritabanı olusturmak
istersen
3. Sanal olarak bir veritabanı şeması olusturup
daha sonra veritabanı ve class olusturmak
istersen faydalıdır.


Entity Framework
mevcut olan bir
veritabanındansınıflar
olusturur.

Ana sınıflardan
veritabanı olusturmak

Şemadan sınıflar ve
tablolar olusturur


Fazla programlamaya ihtiyaç olmadan,
otomatik bir şekilde, MSSQL server gibi
ilişkisel veritabanlarına ana nesnelerden veri
göndermeye yarayan bir araçtır.
3 ana bölümden olusur: Ana sınıf
nesneleri(Domain class objects), ilişkisel
veritabanı nesneleri(relational database
objects) ve ilişkisel veritabanı nesnelerine ana
sınıf nesnelerini nasıl aktarmamız gerektiğini
gösteren haritalama nesneleri(mapping
objects)


ORM bize ana sınıf tasarımından farklı olarak
veritabanı tasarımını da saklamamıza izin
veriyor. Böylece standart olarak
CRUD(Create,Read, Update,Delete)
komutlarını elle yazmamıza gerek kalmadan
otomatik olarak yapılabiliyor
Entity Framework gibi, DataObject.NET,
Nhibernate, OpenAccess, Sunsonic gibi .NET
için geliştirilmiş birçok ORM framework vardır




EDM: 3 ana bölümden olusur:Kavramsal Model,
Haritalama ve Saklama Modeli
Conceptual Model: model sınıfları ve onların
ilişkilerini içeriyor. Bu veritabanı tablolarından
bağımsız olacak.
Storage Model Veritabanı tasarım t modelini
içeriyor. İçinde tablolar, viewler, stored
procedurler ve onların arasındaki ilişkiler
dahildir.
Mapping: Kavramsal modelin storage modeline
nasıl haritalanacağı bilgisini içermektedir.



LINQ to Entities: Bir sorgu dilidir. Conceptual
modelde tanımlanan varlıkları döndürür.
Object Service: Veritabanından veriye erişmek için
bir ana nokta. Meteryalizasyondan sorumludur.
Yani entity client data providerdan entity object’
e veri göndermekten sorumludur.
Entity Client Data Provider: Bunun temel
sorumluluğu L2E veya Entity SQL ile yazılan
sorguları, veritabanının anlayaağı SQL sorgularına
dönüştürmektir. Veritabanından veri gönderen ve
alan ADO.NET veri sağlayıcısı ile iletişim kurar.

ADO.Net Data Provider: Standart Ado.NET
kullanarak veritabanı ile iletişim kurarlar.
Download