Entity Framework - แนวทางแรกของฐานข้อมูล
ในบทนี้ให้เราเรียนรู้เกี่ยวกับการสร้างแบบจำลองข้อมูลเอนทิตีด้วยวิธี Database First
แนวทางแรกของฐานข้อมูลเป็นทางเลือกให้กับแนวทางของ Code First และ Model First สำหรับโมเดลข้อมูลเอนทิตี สร้างโค้ดโมเดล (คลาสคุณสมบัติ DbContext ฯลฯ ) จากฐานข้อมูลในโปรเจ็กต์และคลาสเหล่านั้นจะกลายเป็นลิงค์ระหว่างฐานข้อมูลและคอนโทรลเลอร์
Database First Approach สร้างกรอบเอนทิตีจากฐานข้อมูลที่มีอยู่ เราใช้ฟังก์ชันอื่น ๆ ทั้งหมดเช่นการซิงค์โมเดล / ฐานข้อมูลและการสร้างรหัสในลักษณะเดียวกับที่เราใช้ในแนวทาง Model First
ลองยกตัวอย่างง่ายๆ เรามีฐานข้อมูลอยู่แล้วซึ่งมี 3 ตารางดังที่แสดงในภาพต่อไปนี้
Step 1 - มาสร้างโปรเจ็กต์คอนโซลใหม่ด้วยชื่อ DatabaseFirstDemo
Step 2 - ในการสร้างโมเดลให้คลิกขวาที่โปรเจ็กต์คอนโซลของคุณในตัวสำรวจโซลูชันก่อนแล้วเลือกเพิ่ม→รายการใหม่ ...
Step 3 - เลือก ADO.NET Entity Data Model จากบานหน้าต่างตรงกลางและป้อนชื่อ DatabaseFirstModel ในฟิลด์ Name
Step 4 - คลิกปุ่มเพิ่มซึ่งจะเปิดกล่องโต้ตอบตัวช่วยสร้างโมเดลข้อมูลเอนทิตี
Step 5 - เลือก EF Designer จากฐานข้อมูลและคลิกปุ่มถัดไป
Step 6 - เลือกฐานข้อมูลที่มีอยู่แล้วคลิกถัดไป
Step 7 - เลือก Entity Framework 6.x แล้วคลิกถัดไป
Step 8 - เลือกตารางทั้งหมดมุมมองและขั้นตอนการจัดเก็บที่คุณต้องการรวมแล้วคลิกเสร็จสิ้น
คุณจะเห็นว่าโมเดลเอนทิตีและคลาส POCO ถูกสร้างขึ้นจากฐานข้อมูล
ตอนนี้ให้เราดึงนักเรียนทั้งหมดจากฐานข้อมูลโดยเขียนรหัสต่อไปนี้ในไฟล์ program.cs
using System;
using System.Linq;
namespace DatabaseFirstDemo {
class Program {
static void Main(string[] args) {
using (var db = new UniContextEntities()) {
var query = from b in db.Students
orderby b.FirstMidName select b;
Console.WriteLine("All All student in the database:");
foreach (var item in query) {
Console.WriteLine(item.FirstMidName +" "+ item.LastName);
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
}
เมื่อโปรแกรมข้างต้นทำงานคุณจะได้รับผลลัพธ์ต่อไปนี้ -
All student in the database:
Ali Khan
Arturo finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...
เมื่อโปรแกรมด้านบนทำงานคุณจะเห็นชื่อนักเรียนทั้งหมดที่เคยป้อนไว้ในฐานข้อมูล
เราขอแนะนำให้คุณดำเนินการตามตัวอย่างข้างต้นในลักษณะทีละขั้นตอนเพื่อความเข้าใจที่ดีขึ้น