Entity Framework - Veri Modeli
Varlık Veri Modeli (EDM), çeşitli modelleme tekniklerini kullanarak verilerin kavramsal modelini belirleyen Varlık-İlişki modelinin genişletilmiş bir sürümüdür. Aynı zamanda, depolanan biçimine bakılmaksızın veri yapısını tanımlayan bir dizi kavramı ifade eder.
EDM, kavramsal bir modelde özellikleri tanımlayan bir dizi ilkel veri türünü destekler. Entity Framework için temel oluşturan ve toplu olarak Varlık Veri Modeli olarak bilinen 3 temel parçayı dikkate almamız gerekir. Aşağıda EDM'nin üç temel bölümü bulunmaktadır.
- Depolama Şeması Modeli
- Kavramsal Model
- Haritalama Modeli
Depolama Şeması Modeli
Depolama Modeli, Depolama Şeması Tanım Katmanı (SSDL) olarak da adlandırılan, arka uç veri deposunun şematik temsilini temsil eder.
Kavramsal Model
Kavramsal Model, aynı zamanda Kavramsal Şema Tanım Katmanı (CSDL) olarak da adlandırılan, sorgularımızı yazdığımız gerçek varlık modelidir.
Haritalama Modeli
Eşleştirme Katmanı, Kavramsal model ile Depolama modeli arasında yalnızca bir eşlemedir.
Mantıksal şema ve fiziksel şema ile eşleştirilmesi bir EDM olarak temsil edilir.
Visual Studio ayrıca EDM'nin görsel olarak oluşturulması ve eşleme belirtimi için Varlık Tasarımcısı sağlar.
Aracın çıktısı, şemayı ve eşlemeyi belirten XML dosyasıdır (* .edmx).
Edmx dosyası, Entity Framework meta veri yapılarını içerir.
Şema Tanımlama Dili
ADO.NET Entity Framework, EDM Şemasını tanımlamak için Şema Tanımlama Dili (SDL) adı verilen XML tabanlı bir Veri Tanımlama Dili kullanır.
SDL, diğerleri arasında String, Int32, Double, Decimal ve DateTime gibi diğer ilkel türlere benzer Basit Türleri tanımlar.
İlkel değerlerin ve adların bir haritasını tanımlayan bir Numaralandırma da basit bir tür olarak kabul edilir.
Numaralandırmalar yalnızca 5.0 sürümünden itibaren desteklenir.
Karmaşık Türler, diğer türlerin bir toplamından oluşturulur. Bu türlerin özelliklerinin bir koleksiyonu bir Varlık Türü tanımlar.
Veri modelinin öncelikle veri yapısını açıklamak için üç temel kavramı vardır:
- Varlık türü
- İlişkilendirme türü
- Property
Varlık Türü
Varlık türü, EDM'deki verilerin yapısını açıklamak için temel yapı taşıdır.
Kavramsal bir modelde, varlık türleri özelliklerden oluşturulur ve bir iş uygulamasındaki Öğrenciler ve Kayıtlar gibi üst düzey kavramların yapısını açıklar.
Bir varlık, belirli bir Öğrenci veya Kayıt gibi belirli bir nesneyi temsil eder.
Her varlık, bir varlık kümesi içinde benzersiz bir varlık anahtarına sahip olmalıdır. Bir varlık kümesi, belirli bir varlık türünün örneklerinin bir koleksiyonudur. Varlık kümeleri (ve ilişkilendirme kümeleri) bir varlık kapsayıcısında mantıksal olarak gruplanır.
Devralma varlık türleri ile desteklenir, yani bir varlık türü diğerinden türetilebilir.
İlişkilendirme Türü
EDM'deki ilişkileri tanımlamak için başka bir temel yapı taşıdır. Kavramsal bir modelde, bir ilişki Öğrenci ve Kayıt gibi iki varlık türü arasındaki bir ilişkiyi temsil eder.
Her ilişkilendirmenin, ilişkilendirmeye dahil olan varlık türlerini belirten iki ilişkilendirme ucu vardır.
Her ilişkilendirme sonu, ilişkilendirmenin o ucunda bulunabilecek varlıkların sayısını gösteren bir ilişkilendirme sonu çokluğunu da belirtir.
İlişkilendirme uç çokluğu, bir (1), sıfır veya bir (0..1) veya birçok (*) değerine sahip olabilir.
Bir ilişkilendirmenin bir ucundaki varlıklara, gezinme özellikleri aracılığıyla veya bir varlık türünde gösteriliyorlarsa yabancı anahtarlar aracılığıyla erişilebilir.
Emlak
Varlık türleri, yapılarını ve özelliklerini tanımlayan özellikler içerir. Örneğin, bir Öğrenci varlık türünün Öğrenci Kimliği, Adı vb. Gibi özellikleri olabilir.
Bir özellik, ilkel veriler (bir dize, bir tam sayı veya bir Boole değeri gibi) veya yapılandırılmış veriler (karmaşık bir tür gibi) içerebilir.