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 เป็นส่วนหนึ่งของเกมที่จัดการข้อมูลอินพุตและเอาต์พุต