Code First Approach ใน MVC: ทุกสิ่งที่คุณจำเป็นต้องรู้
เผยแพร่แล้ว: 2021-02-25สารบัญ
Code First Approach คืออะไร?
แนวทางแรกของโค้ดใน MVC ได้รับการแนะนำด้วย Entity Framework 4.1 แนวทางแรกของโค้ดจะใช้ในการออกแบบที่ขับเคลื่อนด้วยโดเมนเป็นหลัก ในแนวทางนี้ โดเมนของแอปพลิเคชันกำลังพิจารณาอยู่ คลาสถูกสร้างขึ้นตามเอนทิตีโดเมนแทนฐานข้อมูล หลังจากนั้นได้ทำการศึกษาให้ตรงกับการออกแบบฐานข้อมูล แผนภาพด้านล่างแสดงแนวทางแรกของโค้ดใน MVC
รหัสแนวทางแรกใน MVC
จากภาพที่เห็นได้ชัดเจน เฟรมเวิร์กเอนทิตีจะสร้างหรืออัปเดตฐานข้อมูลโดยขึ้นอยู่กับคลาสของโดเมน ดังนั้น ผู้ใช้จำเป็นต้องเขียนโค้ดก่อน จากนั้นเฟรมเวิร์กเอนทิตีจะสร้างฐานข้อมูลโดยใช้รหัส นั่นคือเหตุผลที่เรียกว่ารหัสวิธีแรก
รหัสเวิร์กโฟลว์แรก
แนวทางแรกของโค้ดใน MVC เป็นไปตามเวิร์กโฟลว์ด้วยขั้นตอนด้านล่าง:
- สร้างคลาสที่ขับเคลื่อนด้วยโดเมน
- กำหนดค่าคลาสโดเมนที่สร้างขึ้น
- อัปเดตหรือสร้างฐานข้อมูลในคลาสโดเมน
การกำหนดค่าของคลาสโดเมนเกิดขึ้นโดยใช้ Fluent API และการอัปเดตฐานข้อมูลทำได้โดยใช้การโยกย้ายอัตโนมัติ
เมื่อใดควรใช้ Code First Approach ใน MVC
- เมื่อฐานข้อมูลถูกสร้างขึ้น
- เมื่อจะทำการสมัครตั้งแต่เริ่มต้น
- เมื่อมีการดำเนินการ เช่น การสร้างและการลบมุมมอง ตาราง และกระบวนงานที่เก็บไว้
- เมื่อฐานข้อมูลมีตาราง กระบวนงานที่เก็บไว้ และแนวคิดมากมาย
ก่อนหน้านี้ แนะนำ รหัสวิธีแรกใน MVC ใช้แนวทาง DB First โดยทั่วไป วิธีแรกของ DB มีข้อดีและสามารถเลือกใช้แทนแนวทางแรกได้ในกรณีด้านล่าง:
- เมื่อสร้างฐานข้อมูลในโครงการแล้ว
- เมื่อโครงการไม่เกี่ยวข้องกับการปรับปรุงมากมายในตารางหรือมุมมอง
- เมื่อโครงการมีขนาดเล็ก
วิธีการใช้ Code First Approach ใน MVC?
ก่อนใช้โค้ดแรกมีขั้นตอนที่ต้องดำเนินการดังนี้

1. สร้างฐานข้อมูลเปล่า
- เปิดเซิร์ฟเวอร์ SQL และเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูล
- ใน object explorer ให้คลิกขวาที่ตัวเลือกฐานข้อมูลเพื่อสร้างฐานข้อมูลใหม่
2. สร้างโครงการ MVC
- ไปที่ ไฟล์ > โครงการใหม่ > Visual C# > ASP .Net Web Application
- ป้อนชื่อโซลูชันและโครงการ แล้วคลิกตกลง
- คลิกที่ MVC และเปลี่ยนตัวเลือกการตรวจสอบสิทธิ์เป็นบัญชีผู้ใช้ส่วนบุคคล
3. สร้างโครงการห้องสมุดชั้นเรียน
- เพิ่มโครงการใหม่โดยคลิกขวาที่ Solution Explorer
- ไปที่ Visual C# > Windows > Class Library และตั้งชื่อโปรเจ็กต์เป็น ABC.DAL
4. เพิ่ม Entity Framework ให้กับโครงการ DAL ที่สร้างขึ้นในขั้นตอนก่อนหน้า
- ไปที่โครงการ DAL > จัดการแพ็คเกจ NuGet > abc.DAL
- เรียกดูและติดตั้งกรอบงานเอนทิตี
5. การติดตั้งโค้ดขั้นแรก
พิจารณาตัวอย่างสำนักงานที่มีพนักงานหลายคนทำงานในแผนกต่างๆ หากโครงการเกี่ยวข้องกับการสร้างแอปพลิเคชันสำหรับสำนักงานนี้ ข้อมูลของพนักงานสามารถดูและปรับปรุงได้ เมื่อใช้แนวทางรหัสก่อน ชั้นเรียนจะได้รับการออกแบบมาสำหรับโดเมนสำนักงานก่อน พิจารณาพนักงานและแผนกสองประเภท โดยที่พนักงานแต่ละคนเชื่อมโยงกับแผนกเดียว

สร้างคลาสพนักงานดังนี้:
พนักงานระดับสาธารณะ {
EmpId สาธารณะ { รับ; ชุด; }
สตริงสาธารณะ EmpName { รับ; ชุด; }
อายุลอยตัวสาธารณะ { รับ; ชุด; }
วันที่เวลาสาธารณะ DateOfJoining { รับ; ชุด; }
โฟลตสาธารณะ ExpInYears { รับ; ชุด; }
กรมประชาสงเคราะห์ { รับ; ชุด; }
}
สร้างคลาสแผนกดังนี้:
ฝ่ายบุคคลทั่วไป {
DeptId int สาธารณะ { รับ; ชุด; }
สตริงสาธารณะ DeptName { รับ; ชุด; }
ICollection สาธารณะ <พนักงาน> พนักงาน { รับ; ชุด; }
}
รหัสใช้คลาส DbContext ก่อนเพื่อรับคลาสบริบท คลาสบริบทเปิดเผย DBSet ซึ่งเป็นคอลเล็กชันของคลาสเอนทิตี รหัสสำหรับการสร้างคลาสบริบทมีดังนี้:
เนมสเปซ EF6Console {
OfficeContext คลาสสาธารณะ: DbContext {
บริบทสำนักงานสาธารณะ (): ฐาน ()
{
}
DbSet สาธารณะ <พนักงาน> พนักงาน { รับ; ชุด; }
DbSet สาธารณะ <แผนก> แผนก { รับ; ชุด; }
}
}
เมื่อสร้างคลาสบริบทแล้ว ให้เพิ่มพนักงานโดยใช้ตามด้านล่าง:
เนมสเปซ EF6Console {
คลาส ExProgram {
โมฆะคงที่หลัก (สตริง [], args) {
ใช้ (var obj = newOfficeContext())
{
Var emp = พนักงานใหม่ () { EmployeeName = "Peter" };
Obj.Employee.Add(emp);
Obj.SaveChanges();
}
}
}
}
อ่านเพิ่มเติม: ข้อยกเว้นในการจัดการคำถามสัมภาษณ์
6. อ้างอิงโครงการ DAL ไปยัง UI Project
- เพิ่มการอ้างอิงโดยคลิกขวาที่การอ้างอิงของโปรเจ็กต์ UI
7. เปิดใช้งานการโยกย้าย
- ไปที่ เครื่องมือ > ตัวจัดการแพ็คเกจ > จัดการแพ็คเกจ NuGet สำหรับโซลูชัน และเรียกใช้คำสั่งด้านล่าง:
เปิดใช้งาน-โยกย้าย

เพิ่ม-ย้าย เริ่มต้น Create
อัพเดทฐานข้อมูล
8. เพิ่มตัวควบคุม
- ไปที่ Controller > Add > New Controller และเลือก MVC 5 Controller พร้อมมุมมอง โดยใช้ Entity Framework
- เลือกคลาสโมเดล คลาสบริบท และหน้าโครงร่าง
เรียนรู้ หลักสูตรซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
โดยใช้ขั้นตอนที่แชร์ในบทความนี้ คุณสามารถใช้แนวทางที่เน้น โค้ดเป็นอันดับแรกใน MVC ได้ ด้วยการใช้โค้ดขั้นแรก คุณสามารถสร้างคลาสและเอนทิตี จากนั้นอัพเดตฐานข้อมูล
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาแบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการมากกว่า 9 โครงการ และ การมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักที่นำไปปฏิบัติจริง และความช่วยเหลือด้านงานกับบริษัทชั้นนำ
กรอบงาน MVC คืออะไร?
MVC ย่อมาจาก Model-View-Controller เป็นรูปแบบการออกแบบที่ใช้ในวิศวกรรมซอฟต์แวร์ ช่วยให้สามารถแยกข้อกังวล ซึ่งทำให้ทดสอบ เปลี่ยนแปลง และบำรุงรักษาโค้ดได้ง่ายขึ้น โมเดลแสดงถึงข้อมูลและตรรกะทางธุรกิจ โดยปกติจะทำในชั้นที่แยกต่างหากนอกส่วนต่อประสานผู้ใช้ มุมมองเป็นส่วนหนึ่งของแอปพลิเคชันที่ผู้ใช้เห็นและโต้ตอบด้วย นี่คือเลเยอร์ที่เรากำลังออกแบบจริง ๆ เมื่อเราออกแบบส่วนต่อประสานผู้ใช้ ผู้ควบคุมจะตัดสินใจว่าตัวควบคุมใดเหมาะสมที่สุดในการจัดการคำขอแต่ละรายการ เมื่อผู้ใช้โต้ตอบกับอินเทอร์เฟซผู้ใช้ จะส่งคำขอไปยังคอนโทรลเลอร์ คอนโทรลเลอร์จะจัดการคำขอ จากนั้นส่งการตอบสนองกลับไปยังอินเทอร์เฟซผู้ใช้
แนวทางรหัสแรกใน MVC คืออะไร?
ในเฟรมเวิร์ก ASP.NET MVC แนวทางที่เน้นโค้ดเป็นอันดับแรกคือโมเดลการพัฒนาที่คุณเขียนโค้ดที่สร้างเลเยอร์การเข้าถึงข้อมูลก่อน จากนั้นจึงเขียนโค้ดที่สร้างตัวควบคุมและมุมมอง ในแนวทางที่ใช้โค้ดเป็นอันดับแรก คุณสร้างโมเดล ซึ่งเป็นคลาสที่แสดงข้อมูลในแอปพลิเคชัน จากนั้นคุณสร้างชั้นการเข้าถึงข้อมูล ซึ่งเป็นชุดของโค้ดที่อ่านและเขียนข้อมูลไปยังที่จัดเก็บข้อมูล โปรดทราบว่าแนวทางแรกเป็นรหัสไม่จำเป็นต้องใช้ฐานข้อมูล คุณสามารถใช้ Code-First Model เพื่อสร้างข้อมูลประเภทใดก็ได้
จะเป็นนักพัฒนา MVC ได้อย่างไร?
หากคุณต้องการเป็นนักพัฒนา MVC คุณต้องรู้ C# หรือ Java เล็กน้อย เป็นภาษาคอมพิวเตอร์ที่ใช้เขียนโปรแกรมคอมพิวเตอร์ เป็นความคิดที่ดีที่จะเรียนรู้ HTML หรือ HTML5 เล็กน้อย HTML เป็นภาษาที่ใช้เขียนหน้าเว็บ คุณควรเรียนรู้ CSS เล็กน้อย CSS เป็นภาษาที่ใช้ในการจัดรูปแบบหน้าเว็บ ภาษาสุดท้ายที่คุณควรรู้คือ JavaScript JavaScript เป็นภาษาโปรแกรมที่ใช้เพื่อเพิ่มการโต้ตอบกับหน้าเว็บ MVC เป็นตัวย่อที่ย่อมาจาก Model View Controller โมเดลคือวิธีที่ข้อมูลถูกเก็บไว้ในคอมพิวเตอร์ มุมมองคือการแสดงข้อมูลบนหน้าจอ Controller เป็นส่วนหนึ่งของเกมที่จัดการข้อมูลอินพุตและเอาต์พุต