Entity Framework - แบบจำลองข้อมูล
Entity Data Model (EDM) เป็นเวอร์ชันขยายของแบบจำลองเอนทิตี - ความสัมพันธ์ซึ่งระบุรูปแบบแนวคิดของข้อมูลโดยใช้เทคนิคการสร้างแบบจำลองต่างๆ นอกจากนี้ยังหมายถึงชุดของแนวคิดที่อธิบายโครงสร้างข้อมูลโดยไม่คำนึงถึงรูปแบบที่จัดเก็บไว้
EDM สนับสนุนชุดของชนิดข้อมูลดั้งเดิมที่กำหนดคุณสมบัติในแบบจำลองแนวคิด เราจำเป็นต้องพิจารณา 3 ส่วนหลักซึ่งเป็นพื้นฐานสำหรับ Entity Framework และเรียกรวมกันว่า Entity Data Model ต่อไปนี้เป็นสามส่วนหลักของ EDM
- โมเดลสคีมาที่เก็บข้อมูล
- แบบจำลองแนวคิด
- แบบจำลองการทำแผนที่
โมเดลสคีมาที่เก็บข้อมูล
Storage Model เรียกอีกอย่างว่า Storage Schema Definition Layer (SSDL) แสดงถึงการแสดงแผนผังของที่เก็บข้อมูลแบ็กเอนด์
แบบจำลองแนวคิด
Conceptual Model เรียกอีกอย่างว่า Conceptual Schema Definition Layer (CSDL) เป็นแบบจำลองเอนทิตีจริงซึ่งเราเขียนแบบสอบถามของเรา
แบบจำลองการทำแผนที่
Mapping Layer เป็นเพียงการแมประหว่างโมเดลแนวคิดและโมเดลที่เก็บข้อมูล
สคีมาเชิงตรรกะและการแมปกับสคีมาทางกายภาพจะแสดงเป็น EDM
Visual Studio ยังมี Entity Designer สำหรับการสร้างภาพของ EDM และข้อกำหนดการทำแผนที่
ผลลัพธ์ของเครื่องมือคือไฟล์ XML (* .edmx) ที่ระบุสคีมาและการแมป
ไฟล์ Edmx มีส่วนของข้อมูลเมตาของ Entity Framework
ภาษานิยามของสคีมา
ADO.NET Entity Framework ใช้ภาษานิยามข้อมูลตาม XML ที่เรียกว่า Schema Definition Language (SDL) เพื่อกำหนด EDM Schema
SDL กำหนดประเภทแบบง่ายที่คล้ายกับประเภทดั้งเดิมอื่น ๆ ได้แก่ String, Int32, Double, Decimal และ DateTime เป็นต้น
การแจงนับซึ่งกำหนดแผนที่ของค่าดั้งเดิมและชื่อถือเป็นประเภทที่เรียบง่ายเช่นกัน
การแจงนับได้รับการสนับสนุนจากเฟรมเวิร์กเวอร์ชัน 5.0 เป็นต้นไปเท่านั้น
ประเภทที่ซับซ้อนถูกสร้างขึ้นจากการรวมประเภทอื่น ๆ การรวบรวมคุณสมบัติของประเภทเหล่านี้กำหนดประเภทเอนทิตี
โมเดลข้อมูลมีแนวคิดหลักสามประการในการอธิบายโครงสร้างข้อมูล -
- ประเภทเอนทิตี
- ประเภทการเชื่อมโยง
- Property
ประเภทเอนทิตี
ประเภทเอนทิตีเป็นส่วนประกอบพื้นฐานสำหรับการอธิบายโครงสร้างของข้อมูลใน EDM
ในแบบจำลองแนวคิดประเภทเอนทิตีถูกสร้างขึ้นจากคุณสมบัติและอธิบายโครงสร้างของแนวคิดระดับบนสุดเช่นนักเรียนและการลงทะเบียนในแอปพลิเคชันทางธุรกิจ
เอนทิตีแสดงถึงออบเจ็กต์เฉพาะเช่นนักเรียนหรือการลงทะเบียนเฉพาะ
แต่ละเอนทิตีต้องมีคีย์เอนทิตีเฉพาะภายในชุดเอนทิตี ชุดเอนทิตีคือชุดของอินสแตนซ์ของประเภทเอนทิตีเฉพาะ ชุดเอนทิตี (และชุดการเชื่อมโยง) ถูกจัดกลุ่มอย่างมีเหตุผลในคอนเทนเนอร์เอนทิตี
การสืบทอดได้รับการสนับสนุนกับประเภทเอนทิตีนั่นคือประเภทเอนทิตีหนึ่งสามารถได้รับมาจากอีกประเภทหนึ่ง
ประเภทการเชื่อมโยง
เป็นโครงสร้างพื้นฐานอีกอย่างหนึ่งสำหรับการอธิบายความสัมพันธ์ใน EDM ในรูปแบบแนวคิดการเชื่อมโยงแสดงถึงความสัมพันธ์ระหว่างเอนทิตีสองประเภทเช่น Student และ Enrollment
ทุกการเชื่อมโยงจะมีจุดสิ้นสุดของการเชื่อมโยงสองแบบที่ระบุประเภทเอนทิตีที่เกี่ยวข้องในการเชื่อมโยง
จุดสิ้นสุดการเชื่อมโยงแต่ละรายการยังระบุการสิ้นสุดการเชื่อมโยงหลายหลากที่ระบุจำนวนของเอนทิตีที่สามารถอยู่ที่ส่วนท้ายของการเชื่อมโยง
การสิ้นสุดการเชื่อมโยงหลายหลากสามารถมีค่าหนึ่ง (1) ศูนย์หรือหนึ่ง (0..1) หรือหลายค่า (*)
เอนทิตีที่ปลายด้านหนึ่งของการเชื่อมโยงสามารถเข้าถึงได้ผ่านคุณสมบัติการนำทางหรือผ่านคีย์ต่างประเทศหากมีการเปิดเผยในประเภทเอนทิตี
ทรัพย์สิน
ชนิดเอนทิตีประกอบด้วยคุณสมบัติที่กำหนดโครงสร้างและลักษณะ ตัวอย่างเช่นประเภทเอนทิตี Student อาจมีคุณสมบัติเช่น Student Id, Name เป็นต้น
คุณสมบัติสามารถมีข้อมูลพื้นฐาน (เช่นสตริงจำนวนเต็มหรือค่าบูลีน) หรือข้อมูลที่มีโครงสร้าง (เช่นประเภทที่ซับซ้อน)