I. Khái niệm Code First trong ASP.. .NET MVC

Trong asp .net mvc ta có 2 cách tiếp cận thiết yếu sẽ là database first với code first, với cùng một bài bác toán trải nghiệm nhiệm vụ biến đổi tiếp tục cùng trở nên tân tiến hối hả thì code first sẽ là quy mô tiếp cập cân xứng hơn cả, sau đây bản thân sẽ trình bày các Đặc điểm bao gồm liên quan mang lại cách làm tiếp cận code first

*

Với giải pháp tiếp cận code-first, Entity Framework sẽ khởi tạo các đối tượng bảng cửa hàng tài liệu dựa trên Mã Sản Phẩm nhưng mà bạn chế tạo để màn trình diễn tài liệu vận dụng.Một vài ba quy ước của code first cho phép tự động hóa cấu hình 1 Mã Sản Phẩm nlỗi sau :Quy ước tên bảng: Lúc chế tác 1 class diễn tả những thực thể là User sẽ tiến hành tàng trữ trong database thì Entity Framework vẫn tự động hóa tạo ra 1 bảng mang tên là UsersQuy ước khóa chính: lúc chúng ta tạo thành 1 nằm trong tính có tên là UserId trong lớp User của model thì nằm trong tính này được trao có tác dụng khóa chính. mà còn nó vẫn thiết lập cấu hình 1 cột khóa auto-increment để tàng trữ giá trị ví như thứ hạng khóa là số nguim.Quy ước về mối quan liêu hệ: Entity Framework cung cấp những quy ước khác biệt nhằm nhận biết 1 quan hệ giữa 2 Mã Sản Phẩm phụ thuộc thương hiệu của ở trong tính và kiểu dáng dữ liệuĐể tò mò chi tiết hơn bản thân vẫn có tác dụng 1 ví dụ bên dưới.

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

II. Tạo 1 áp dụng ASPhường .NET MVC với biện pháp tiếp cận code first

Cách 1. Tạo project

Trong nội dung bài viết này mình thực hiện Visual studio 2019 cùng Squốc lộ Sever 2014Tiến hành msinh sống và tạo nên 1 proejct ASP.. .NET MVC như sau :

*
Tiếp theo chọn MVC để sở hữu đa số nhân tố bắt buộc thiết

Bước 2. Tạo Model

Vì là code first cần tất nhiên mình sẽ tạo nên các mã sản phẩm bằng code thứ nhất rồi

*
Tạo 3 Class có tên Student, Course, Enrollment, đừng quên không nên được đặt thương hiệu gồm ký kết tự "s" (Số nhiều) do quá trình generate sinh sống database sẽ tạo ra bảng bao gồm thêm 1 ký từ bỏ "s" nữa ẩn dưới
*

Cấu hình Class 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 DateTime EnrollmentDate get; set; public virtual ICollectionEnrollments get; set; Mình đã lý giải cụ thể một số trong những điều nghỉ ngơi class này

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

Tương từ bỏ ta đang code 2 class Enrollment cùng Course như 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ừ bỏ sinc các mã tự động hóa 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

Mở Sql Sever cùng triển khai chế tạo ra 1 database có tên MyCodeFirst
*

Chọn property của sever để mang máy chủ name

*

Vào Project => Manager nuget package => Chọn tab browse cùng tìm kiếm entity framework nhỏng hình

*

Vào Sever Explorer => Chọn Connect lớn database => Nhập thương hiệu máy chủ cùng lựa chọn database vừa tạo

*

Tiếp theo ta click chuột phải vào data connection vừa liên kết => Property => Coppy connection string

*

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

*

B4. Tạo Data accept layer chứa các context

Vào project tạo ra thêm 1 tlỗi mục mang tên DAL => Tạo 1 class mang tên MyCodeFirstContext.cs cùng cấu hình 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 với view

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

*

*

Ở đây chúng ta sẽ generate cả controller và view của Student mã sản phẩm, với Course cùng Enrollment các bạn làm tựa như nhé

Run tiện ích cùng được kết quả
*
Trong database đang gồm những bảng

*

Các bước triển khai khi chuyển đổi Model trong Code First

thường thì vị nhiệm vụ ta cần phải biến hóa các bảng trong database, cùng với code first ta cần tiến hành như sau, ở chỗ này bản thân sẽ chuyển đổi class Mã Sản Phẩm 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 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 nay 3 câu theo thứ 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 biến hóa cần các bạn cùng bắt buộc xóa StudentController với các View khớp ứng và tạo nên lại nlỗi bước 5 nhằm tách lỗi nhé

Tổng kết

+Ưu điểm: Rất phổ biến (bởi vì những lập trình sẵn viên thường ko say đắm kiến tạo DB, nhưng mà say mê kiến thiết class)Kiểm kiểm tra hoàn toàn code Model, thêm xóa sửa nằm trong tính cực kì dễ dàngKhông nên nặng đầu Để ý đến về DB. Đối với bí quyết tiếp cận này, DB chỉ với mẫu “cục” data, mang ra xài thôicũng có thể version control Database.

Xem thêm: " Ủy Viên Tiếng Anh Là Gì - Các Từ Vựng Cơ Quan Ban Ngành

+Nhược điểm: Các thay đổi cấu tạo trực tiếp trên DB đã mấtKhó kiểm soát điều hành đều column sẽ tạo bên trên DbHơi nặng nề Lúc kết phù hợp với Db tất cả sẵn.

Xem thêm: Tài Liệu Srs Là Gì ? Khái Niệm Mà Bất Cứ Ba Nào Cũ Ng Phải Thuộc Lòng

Theo bản thân code-first để giúp đỡ họ vậy cùng phát âm được cơ bạn dạng về quá trình generate tài liệu, sẽ giúp đỡ cho những người new học hoàn toàn có thể dễ dãi tiếp cận. Đặc biệt nó giúp cho ta dữ thế chủ động hơn trong câu hỏi thêm sửa xuất xắc xóa Model.

Bài viết được tìm hiểu thêm từ bỏ blog của anh ấy haitqd, đó là nội dung bài viết tiếp sau về series asp .net mvc của chính bản thân mình, hầu hết tín đồ cho bạn nhận xết nhằm đổi khác giỏi hơn tương tự như rượu cồn lực để bản thân làm những bài viết tiếp theo sau nhé
*
*