Entity Framework - สถาปัตยกรรม

สถาปัตยกรรมของ Entity Framework จากล่างขึ้นบนประกอบด้วยสิ่งต่อไปนี้ -

ผู้ให้บริการข้อมูล

สิ่งเหล่านี้เป็นผู้ให้บริการเฉพาะต้นทางซึ่งเป็นนามธรรมของอินเทอร์เฟซ ADO.NET เพื่อเชื่อมต่อกับฐานข้อมูลเมื่อเขียนโปรแกรมกับสคีมาแนวความคิด

แปลภาษา SQL ทั่วไปเช่น LINQ ผ่านทางทรีคำสั่งเป็นนิพจน์ SQL ดั้งเดิมและดำเนินการกับระบบ DBMS เฉพาะ

ไคลเอนต์เอนทิตี

เลเยอร์นี้จะแสดงเลเยอร์เอนทิตีไปที่ชั้นบน ไคลเอนต์เอนทิตีให้ความสามารถสำหรับนักพัฒนาในการทำงานกับเอนทิตีในรูปแบบของแถวและคอลัมน์โดยใช้เคียวรี SQL เอนทิตีโดยไม่จำเป็นต้องสร้างคลาสเพื่อแสดงสคีมาแนวคิด ไคลเอนต์เอนทิตีแสดงเลเยอร์เฟรมเวิร์กเอนทิตีซึ่งเป็นฟังก์ชันหลัก เลเยอร์เหล่านี้เรียกว่าแบบจำลองข้อมูลเอนทิตี

  • Storage Layer มีสกีมาฐานข้อมูลทั้งหมดในรูปแบบ XML

  • Entity Layer ซึ่งเป็นไฟล์ XML กำหนดเอนทิตีและความสัมพันธ์

  • Mapping layer เป็นไฟล์ XML ที่แมปเอนทิตีและความสัมพันธ์ที่กำหนดไว้ที่เลเยอร์แนวคิดด้วยความสัมพันธ์จริงและตารางที่กำหนดไว้ที่เลเยอร์ตรรกะ

  • Metadata services ซึ่งแสดงใน Entity Client ยังให้ API แบบรวมศูนย์เพื่อเข้าถึงเมทาดาทาที่จัดเก็บเลเยอร์เอนทิตีการแมปและที่เก็บข้อมูล

บริการวัตถุ

เลเยอร์ Object Services คือ Object Context ซึ่งแสดงถึงเซสชันของการโต้ตอบระหว่างแอ็พพลิเคชันและแหล่งข้อมูล

  • การใช้ Object Context หลักคือการดำเนินการต่างๆเช่นเพิ่มลบอินสแตนซ์ของเอนทิตีและบันทึกสถานะที่เปลี่ยนแปลงกลับไปยังฐานข้อมูลด้วยความช่วยเหลือของแบบสอบถาม

  • เป็นเลเยอร์ ORM ของ Entity Framework ซึ่งแสดงถึงผลลัพธ์ข้อมูลไปยังอินสแตนซ์ออบเจ็กต์ของเอนทิตี

  • บริการนี้ช่วยให้นักพัฒนาสามารถใช้คุณสมบัติ ORM ที่สมบูรณ์เช่นการแมปคีย์หลักการติดตามการเปลี่ยนแปลง ฯลฯ โดยการเขียนแบบสอบถามโดยใช้ LINQ และ Entity SQL