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 เป็นต้น

คุณสมบัติสามารถมีข้อมูลพื้นฐาน (เช่นสตริงจำนวนเต็มหรือค่าบูลีน) หรือข้อมูลที่มีโครงสร้าง (เช่นประเภทที่ซับซ้อน)