CODE FIRST LÀ GÌ

I. Khái niệm Code First trong ASPhường .NET MVC

Trong asp mvc ta bao gồm 2 bí quyết tiếp cận bao gồm đó là database first cùng code first, với cùng 1 bài tân oán những hiểu biết nhiệm vụ đổi khác liên tiếp và trở nên tân tiến lập cập thì code first đang là quy mô tiếp cập cân xứng hơn cả, sau đây bản thân đang trình bày các Điểm sáng bao gồm liên quan cho cách làm tiếp cận code first

Bạn đang xem: Code first là gì

*

Với cách tiếp cận code-first, Entity Framework sẽ tạo nên những đối tượng người tiêu dùng bảng các đại lý tài liệu dựa vào mã sản phẩm mà lại các bạn sản xuất để biểu diễn tài liệu áp dụng.Một vài quy ước của code first chất nhận được tự động hóa thông số kỹ thuật 1 mã sản phẩm nhỏng sau :Quy ước thương hiệu bảng: lúc tạo 1 class miêu tả những thực thể là User sẽ được tàng trữ vào database thì Entity Framework sẽ auto tạo thành 1 bảng có tên là UsersQuy ước khóa chính: Lúc bạn chế tạo 1 trực thuộc tính có tên là UserId trong lớp User của Mã Sản Phẩm thì thuộc tính này được trao làm cho khóa chính. Ngoài ra nó đang thiết lập 1 cột khóa auto-increment nhằm tàng trữ quý giá nếu đẳng cấp khóa là số nguim.Quy ước về côn trùng quan tiền hệ: Entity Framework cung cấp các quy ước khác nhau nhằm nhận biết 1 mối quan hệ giữa 2 mã sản phẩm phụ thuộc tên của trực thuộc tính cùng thứ hạng dữ liệuĐể tò mò cụ thể rộng mình đã làm 1 ví dụ dưới.Quý Khách sẽ xem: Code first là gì

II. Tạo 1 vận dụng ASP .NET MVC cùng với cách tiếp cận code first

Cách 1. Tạo project

Trong nội dung bài viết này bản thân thực hiện Visual studio 2019 cùng SQL Sever 2014Tiến hành mlàm việc và tạo nên 1 proejct ASPhường .NET MVC nlỗi sau :

*

Tiếp theo lựa chọn MVC để có số đông nhân tố bắt buộc thiết

Cách 2. Tạo Model

Vì là code first đề xuất tất nhiên bản thân sẽ tạo nên những Model bằng code thứ nhất rồi

*

Tạo 3 Class mang tên Student, Course, Enrollment, đừng quên ko nên được đặt tên tất cả cam kết tự "s" (Số nhiều) vì chưng quy trình generate ngơi nghỉ database sẽ khởi tạo ra bảng tất cả thêm 1 ký từ "s" nữa ẩn dưới
*

Cấu hình Class Student nlỗi sau:

using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace MyCodeFirst.Models public class Student public int Id get; set; public string LastName get; set; public string FirstName get; set; public DateTime EnrollmentDate get; set; public virtual ICollectionEnrollments get; set; Mình đang giải thích cụ thể một trong những điều nghỉ ngơi class này

Bảng Student sẽ links với bảng Enrollment, nhằm tư tưởng ta sử dụng từ bỏ khóa virtual cùng 1 vẻ bên ngoài dữ liệu là Iconnection (tsay đắm số là một trong Enrollment entity ta đã có mang sau)=> ta đã khái niệm được 1 bảng Student được mapping sang một bảng Enrollment với bảng này sẽ có được khóa nước ngoài là StudentID

Tương từ bỏ ta đã code 2 class Enrollment với Course nlỗi sauEnrollment.cs

using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace MyCodeFirst.Models public class Enrollment public int EnrollmentID get; set; public int Grade get; set; public int CourseID get; set; public int StudentID get; set; public virtual Student Student get; set; public Course Course get; set; Course.csusing System;using System.Collections.Generic;using System.Linq;using System.Web;using System.ComponentModel.DataAnnotations.Schema;namespace MyCodeFirst.Models public class Course //Sử dụng anotation để tự sinc các mã auto trong database public int CourseID get; set; public string Title get; set; public int Credits get; set; public virtual ICollectionEnrollments get; set;

Cách 3. Connect database

Msinh hoạt Sql Sever với triển khai chế tác 1 database có tên MyCodeFirst
*

Xem thêm: " Date Back Là Gì ? Nghĩa Của Từ Date Back Trong Tiếng Việt Đồng Nghĩa Của Date Back

Chọn property của máy chủ để lấy máy chủ name

Vào Project => Manager nuget package => Chọn tab browse với tìm kiếm entity framework nlỗi hình

Vào Sever Explorer => Chọn Connect to database => Nhập tên máy chủ cùng chọn database vừa tạo

Tiếp theo ta bấm vào bắt buộc vào data connection vừa kết nối => Property => Coppy connection string

Mngơi nghỉ file webconfig.cs thêm đoạn tựa như (connection string của các bạn sẽ khác) sau vào vào thẻ configuration


B4. Tạo Data accept layer đựng các context

Vào project sinh sản thêm một tlỗi mục mang tên DAL => Tạo 1 class mang tên MyCodeFirstContext.cs cùng thông số kỹ thuật nlỗi sau

using MyCodeFirst.Models;using System;using System.Collections.Generic;using System.Data.Entity;using System.Linq;using System.Web;namespace MyCodeFirst.DAL public class MyCodeFirstContext : DbContext public MyCodeFirstContext() : base("MyCodeFirstContext") public DbSet Students get; set; public DbSet Enrollments get; set; public DbSet Courses get; set; Xong xuôi hãy tiến hành rebuild project, đấy là bắt buộc

B5. Tạo controller cùng view

Chuột buộc phải tlỗi mục controller => add => Add new scaffolded Item => MVC 5 Controller with view, using entity framewrok

Tại phía trên chúng ta đã generate cả controller với view của Student mã sản phẩm, với Course cùng Enrollment chúng ta làm cho tương tự nhé

Run phầm mềm với được kết quả

Các bước thực hiện Khi biến hóa Model trong Code First

thường thì vị nhiệm vụ ta rất cần được thay đổi những bảng trong database, với code first ta cần thực hiện nlỗi sau, ở chỗ này bản thân sẽ đổi khác class model Student nhỏng sau

using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace MyCodeFirst.Models public class Student public int Id get; set; public string LastName get; set; public string FirstName get; set; public string Address get; set; //Mình thêm ngôi trường address public DateTime EnrollmentDate get; set; public virtual ICollectionEnrollments get; set; Ta vào tool => Nuget package manager => Package manager consoleThực hiện tại 3 câu lần lượt :enable-migrationsAdd-Migration AddAddressToStudentUpdate-DatabaseKết qua ta vẫn có thêm cột address vào bảng student

Do bảng student vẫn đổi khác phải các bạn cùng đề nghị xóa StudentController và các View tương ứng với tạo lại nlỗi bước 5 nhằm tách lỗi nhé

Tổng kết

Theo mình code-first sẽ giúp chúng ta vậy với gọi được cơ bản về quy trình generate dữ liệu, sẽ giúp cho tất cả những người new học có thể dễ dãi tiếp cận. điều đặc biệt nó hỗ trợ cho ta dữ thế chủ động hơn vào Việc thêm sửa giỏi xóa Mã Sản Phẩm.

Bài viết được tham khảo trường đoản cú blog của anh ấy haitqd, đấy là nội dung bài viết tiếp theo về series asp mvc của bản thân, các tín đồ cho bạn nhấn xết nhằm chuyển đổi xuất sắc rộng cũng giống như hễ lực nhằm mình làm cho các nội dung bài viết tiếp sau nhé