|
Qiymatlar turlari va havola turlari
|
Sana | 11.02.2024 | Hajmi | 408,56 Kb. | | #154756 |
Bog'liq 12. EF da vorishlash Entity Frameworkda meroslash Ma’ruzachi: Fayziyev M. Reja Entity Framework 6 da meros strategiyasi - SQL ma'lumotlar bazasini boshqarish tizimlari meroslashning hech bir turini qo'llab-quvvatlamaydi. Xo’sh,unda ob'ektga yo'naltirilgan domen sinflarini relyatsion ma'lumotlar bazasi bilan qanday xaritalashtiramiz?
- Quyida Code-First-da meros ierarxiyasini ifodalash uchun uch xil yondashuv keltirilgan:
- Table per Hierarchy (TPH): Bu yondashuv butun sinf meros ierarxiyasi uchun bitta jadvalni taklif qiladi. Jadvalda meros sinflarini ajratib turadigan diskriminator ustuni mavjud. Bu Entity Framework-da birlamchi meros xaritalash strategiyasidir.
- Table per Type (TPT): Ushbu yondashuv har bir domen sinfi uchun alohida jadvalni taklif qiladi.
- Table per Concrete Class (TPC): Bu yondashuv mavhum sinf uchun emas, balki bitta aniq sinf uchun bitta jadvalni taklif qiladi. Shunday qilib, agar siz mavhum sinfni bir nechta aniq sinflarda meros qilib olsangiz, mavhum sinfning xususiyatlari aniq sinfning har bir jadvalining bir qismi bo'ladi.
TPH yondashuvi - Bu yondashuv butun sinf meros ierarxiyasi uchun bitta jadvalni taklif qiladi. Jadvalda meros sinflarini ajratib turadigan diskriminator ustuni mavjud. Bu Entity Framework-da birlamchi meros xaritalash strategiyasidir.
Diskriminator ustuni - Yuqoridagi ma'lumotlar bazasi sxemasida ko'rib turganingizdek, Code First doimiy sinflarni farqlash uchun maxsus ustun qo'shishi kerak: diskriminator. Bu bizning ob'ekt modelimizdagi doimiy sinfning xususiyati emas; U EF Code First tomonidan ichki ishlatiladi. Odatiy bo'lib, ustun nomi "Diskriminator" va uning turi qatordir. Qiymatlar doimiy sinf nomlariga sukut bo'yicha belgilanadi - bu holda "BankAccount" yoki "CreditCard". EF Code First avtomatik ravishda diskriminator qiymatlarini o'rnatadi va oladi.
TPT yondashuvi - Turi bo'yicha jadval meros munosabatlarini relyatsion tashqi kalit birlashmalari sifatida ifodalash haqida . Doimiy xususiyatlarni e'lon qiladigan har bir sinf/kichik sinf, shu jumladan mavhum sinflar ham o'z jadvaliga ega. Kichik sinflar jadvali faqat har bir meros bo'lmagan xususiyat uchun ustunlarni (har bir kichik sinf tomonidan e'lon qilingan xususiyat) va asosiy sinf jadvalining tashqi kaliti bo'lgan asosiy kalitni o'z ichiga oladi. Ushbu yondashuv quyidagi rasmda ko'rsatilgan:
TPC yondashuvi - https://www.entityframeworktutorial.net/
Loyiha (namuna) - https://github.com/entityframeworktutorial/EF6-DBFirst-Demo
E’tiboringiz uchun rahmat Ushbu darsni youtube sahifamizda ko’rishingiz mumkin
|
| |