Entity Framework - ภาพรวม

Entity Framework คืออะไร?

Entity Framework เปิดตัวครั้งแรกในปี 2008 ซึ่งเป็นวิธีการหลักของ Microsoft ในการโต้ตอบระหว่างแอปพลิเคชัน. NET และฐานข้อมูลเชิงสัมพันธ์ Entity Framework คือ Object Relational Mapper (ORM) ซึ่งเป็นเครื่องมือประเภทหนึ่งที่ช่วยลดความซับซ้อนในการแมประหว่างอ็อบเจ็กต์ในซอฟต์แวร์ของคุณไปยังตารางและคอลัมน์ของฐานข้อมูลเชิงสัมพันธ์

  • Entity Framework (EF) คือโอเพ่นซอร์ส ORM framework สำหรับ ADO.NET ซึ่งเป็นส่วนหนึ่งของ. NET Framework

  • ORM ดูแลการสร้างการเชื่อมต่อฐานข้อมูลและดำเนินการคำสั่งตลอดจนรับผลการสืบค้นและกำหนดผลลัพธ์เหล่านั้นโดยอัตโนมัติเป็นวัตถุแอปพลิเคชันของคุณ

  • ORM ยังช่วยติดตามการเปลี่ยนแปลงของออบเจ็กต์เหล่านั้นและเมื่อได้รับคำแนะนำก็จะยังคงมีการเปลี่ยนแปลงเหล่านั้นกลับไปที่ฐานข้อมูลให้คุณด้วย

ทำไมต้องเป็น Entity Framework

Entity Framework คือ ORM และ ORM มีวัตถุประสงค์เพื่อเพิ่มประสิทธิภาพการทำงานของนักพัฒนาโดยการลดงานที่ซ้ำซ้อนในการคงข้อมูลที่ใช้ในแอปพลิเคชัน

  • Entity Framework สามารถสร้างคำสั่งฐานข้อมูลที่จำเป็นสำหรับการอ่านหรือเขียนข้อมูลในฐานข้อมูลและดำเนินการให้คุณ

  • หากคุณกำลังค้นหาคุณสามารถแสดงข้อความค้นหาของคุณเทียบกับวัตถุโดเมนของคุณโดยใช้ LINQ ไปยังเอนทิตี

  • Entity Framework จะดำเนินการค้นหาที่เกี่ยวข้องในฐานข้อมูลจากนั้นสร้างผลลัพธ์เป็นอินสแตนซ์ของอ็อบเจ็กต์โดเมนของคุณเพื่อให้คุณทำงานภายในแอพของคุณ

มี ORM อื่น ๆ ในตลาดเช่น NHibernate และ LLBLGen Pro โดยทั่วไป ORM ส่วนใหญ่จะแมปประเภทโดเมนกับสคีมาฐานข้อมูลโดยตรง

Entity Framework มีเลเยอร์การแมปที่ละเอียดขึ้นเพื่อให้คุณสามารถปรับแต่งการแมปได้เองตัวอย่างเช่นโดยการแมปเอนทิตีเดียวกับตารางฐานข้อมูลหลายตารางหรือแม้แต่เอนทิตีหลายรายการกับตารางเดียว

  • Entity Framework เป็นเทคโนโลยีการเข้าถึงข้อมูลที่แนะนำสำหรับแอปพลิเคชันใหม่ของ Microsoft

  • ADO.NET ดูเหมือนจะอ้างถึงเทคโนโลยีสำหรับชุดข้อมูลและตารางข้อมูลโดยตรง

  • Entity Framework คือที่ที่มีการลงทุนแบบก้าวไปข้างหน้าทั้งหมดซึ่งเป็นกรณีนี้มาหลายปีแล้ว

  • Microsoft แนะนำให้คุณใช้ Entity Framework บน ADO.NET หรือ LINQ กับ SQL สำหรับการพัฒนาใหม่ทั้งหมด

รูปแบบความคิด

สำหรับนักพัฒนาที่คุ้นเคยกับการพัฒนาที่เน้นฐานข้อมูลการเปลี่ยนแปลงที่ยิ่งใหญ่ที่สุดของ Entity Framework คือช่วยให้คุณมุ่งเน้นไปที่โดเมนธุรกิจของคุณ คุณต้องการให้แอปพลิเคชันของคุณทำอะไรโดยไม่ถูก จำกัด โดยสิ่งที่ฐานข้อมูลสามารถทำได้?

  • ด้วย Entity Framework จุดโฟกัสจะเรียกว่าแบบจำลองแนวคิด เป็นแบบจำลองของวัตถุในแอปพลิเคชันของคุณไม่ใช่แบบจำลองของฐานข้อมูลที่คุณใช้เพื่อคงข้อมูลแอปพลิเคชันของคุณ

  • แบบจำลองแนวคิดของคุณอาจเกิดขึ้นเพื่อให้สอดคล้องกับสคีมาฐานข้อมูลของคุณหรืออาจแตกต่างกันมาก

  • คุณสามารถใช้ Visual Designer เพื่อกำหนดแบบจำลองแนวคิดของคุณซึ่งจะสร้างคลาสที่คุณจะใช้ในแอปพลิเคชันของคุณในท้ายที่สุด

  • คุณสามารถกำหนดคลาสของคุณและใช้คุณสมบัติของ Entity Framework ที่เรียกว่า Code First จากนั้น Entity Framework จะเข้าใจรูปแบบแนวคิด

ไม่ว่าจะด้วยวิธีใด Entity Framework จะหาวิธีย้ายจากแบบจำลองแนวคิดของคุณไปยังฐานข้อมูลของคุณ ดังนั้นคุณสามารถสอบถามกับวัตถุโมเดลแนวความคิดของคุณและทำงานกับวัตถุเหล่านั้นได้โดยตรง

คุณสมบัติ

ต่อไปนี้เป็นคุณสมบัติพื้นฐานของ Entity Framework รายการนี้สร้างขึ้นตามคุณสมบัติที่โดดเด่นที่สุดและจากคำถามที่พบบ่อยเกี่ยวกับ Entity Framework

  • Entity Framework เป็นเครื่องมือของ Microsoft
  • Entity Framework กำลังได้รับการพัฒนาเป็นผลิตภัณฑ์ Open Source
  • Entity Framework ไม่เชื่อมโยงหรือขึ้นอยู่กับวงจรการเผยแพร่. NET อีกต่อไป
  • ทำงานร่วมกับฐานข้อมูลเชิงสัมพันธ์กับผู้ให้บริการ Entity Framework ที่ถูกต้อง
  • การสร้างคำสั่ง SQL จาก LINQ ไปยังเอนทิตี
  • Entity Framework จะสร้างแบบสอบถามที่กำหนดพารามิเตอร์
  • ติดตามการเปลี่ยนแปลงของวัตถุในหน่วยความจำ
  • อนุญาตให้แทรกอัปเดตและลบการสร้างคำสั่ง
  • ทำงานร่วมกับโมเดลภาพหรือกับชั้นเรียนของคุณเอง
  • Entity Framework ได้จัดเก็บ Procedure Support