Hướng dẫn tạo CRUD với ASP.NET Core MVC

 Trong bài viết này, mình sẽ hướng dẫn các bạn cách tạo CRUD bằng ASP.NET Core MVC, vậy CRUD là gì? Nó có tác dụng gì trong các dự án chúng ta  làm hay không và hoạt động như thế nào thì các bạn cùng xem bài viết dưới đây nhé. Vì sắp tới lớp mình học qua phần ASP.NET Core làm CRUD thì mình cũng luôn tiện viết hướng dẫn cho các bạn lớp mình luôn.

1. Vậy CRUD là gì?

CRUD là gì? CRUD là viết tắt của 4 từ tiếng Anh (Create-Retrieve-Update-Delete) là nhóm chức năng cơ bản trên dữ liệu mà mọi ứng dụng đều phải có, nói tới đây chắc hẳn các bạn đã biết, hôm nay chúng ta sẽ cùng nhau tìm hiểu về cái gì rồi đúng không.  Trong ASP.NET Core MVC nhóm chức năng này được thực hiện một cách dễ dàng. ASP.NET Core MVC thậm chí còn cung cấp khả năng scafolding – tự động sinh code controller và view dựa trên thông tin của model.

  • Create – Thêm mới người dùng.
  • Read – Đọc thông tin người dùng.
  • Update – Cập nhật hay chỉnh sửa thông tin người dùng.
  • Delete – Xóa dữ liệu người dùng.
Để có thể hiểu rõ hơn và thực tế hơn , chúng ta sẽ cùng nhau tìm hiểu cách viết chức năng liệt kê danh sách sinh viên, thêm, sửa, xóa sinh viên. Tất cả chỉ gói gọn với kiến thức .NET căn bản chứ không có gì khó khăn cả, ráp kiến thức lại và chúng ta viết hoàn chỉnh một chức năng trong ứng dụng website mà thôi, vì trong đợt trước lớp ta cũng học cơ bản về .NET MVC đã làm thuần về CRUD bên đó, thì qua lại .NET Core thì cũng không có gì khó khăn cả, nên lớp đừng lo lắng nha.

Ok, giới thiệu qua loa thế là được rồi, bây giờ chúng ta phân tích xem cần chuẩn bị những gì để bắt tay vào viết chức năng crud, đầu tiên cần phải lên database cho chức năng User, do chỉ là ví dụ đơn giàn nên table Sinhvien của mình chỉ có 6 field thôi nhé.

2. Xây dựng Database cho CRUD User

Mình có chuẩn bi sẵn cấu trúc database có bảng là Sinhvien như sau:

    create database DbSinhvienOnline
    go
    use DbSinhvienOnline
    go
  ---Create table Sinhvien
create table SinhVien
(
  
	ID							    int unique identity(1,1) not null,
	Fullname						nvarchar(50) null,
	Born							datetime,
	[Address]						nvarchar(50),
	Email							varchar(50) null,
	Sex							    bit
)
Mình cũng insert sẵn dữ liệu cho table user, import database là quá basic rồi, nên mình sẽ không hướng dẫn lại nhé, vào database bạn đã tạo sẵn, vào sql, paste 2 dòng code sql này vào.
insert into SinhVien(Fullname,Born,Address,Email,Sex) 
values 
	(N'Hoàng Đức Hiền', '2000/10/18', N'Thừa Thiên Huế', 'hienhdit@gmail.com',1),

Sau khi chúng ta đã tạo Database song, thì bắt đầu chúng ta qua Visual Studio tạo dự án ASP.NET Core Application, và đặt tên là StudentCRUD.

Bước 1
Bước 2
Bước 3. Nhớ chọn .NET Core 3.1 
Và kết quả như hình minh họa

Bước 4: Đây là bước khá quan trọng, để chúng ta connect kết nối với cơ sở dữ liệu

  • Thêm ConnectionStrings vào appsetting.json dòng code dưới đây:

"ConnectionStrings": {
    "ConnectionString": "Server=.;Database=DbSinhvienOnline;Trusted_Connection=True;MultipleActiveResultSets=true"
 }

- Ở chổ Server các bạn thay lại Server Name máy của các bạn nhé, ở đây Server của mình là dấu chấm.



Kết quả nhé


Bước 5: Các bạn Installing Entity Framework Core để hỗ trợ, vào mục Dependencies -> chọn Manage NuGet Packages -> Chọn Browse(mục này nhiều người nhầm qua Installed haha) nhé:
  • Microsoft.EntityFrameworkCore.SqlServer
  • Microsoft.EntityFrameworkCore.Design
  • Microsoft.EntityFrameworkCore.Tools
Bước 6: Chúng ta tạo thêm một Folder trong Project chúng ta tên là Entity để bắt đầu Scafflod dữ liệu bên SQL qua.
Bước 7: Ở thanh công cụ, các bạn click vào Tools - > Chọn Nuget Package Manager -> Packages Manager Console và copy đoạn code dưới đây dán vào để nó bắt đầu Scaffold
Scaffold-DbContext "Server=.;Database= DbSinhvienOnline; user id= sa;password= 123;Trusted_Connection=True;MultipleActiveResultSets=true" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entity
Kết quả như dưới đây

Sau khi chúng ta dán đoạn mã đó vào để Scaffol dữ liệu thì nó sinh ra 2 class ở Entity như hình dưới

Vậy là chúng ta đã nạp dữ liệu vào cho dự án của chúng ta, các bạn thấy đơn giản không nào, chỉ cần ít dòng lệnh thì nó đã Sca ra.
Và công đoạn tiếp theo là chúng ta tạo Controller thực thi cho các hàm của nó, việc tạo Controller rất là đơn giản tự động Entity Framework đã tạo sẵn cho chúng ta bây giờ chúng ta chỉ gọi nó ta mà thôi.
  • Tạo Controller -> Click chuột phải vào Controller -> Chọn Add Controller -> Và chúng ta sử dụng MVC Controller with views, using Entity Framework

  • Sau đó nhấn Add

  • Tiếp theo chúng ta chọn đúng Model Class đã tạo và Data context class -> Nhấn Add

  • Và sau ni Add song thì kết quả sẽ ra như thế này, các bạn có thấy nhanh không nào, nhanh như chớp á nhỉ haha, mọi thứ Entity Framework đã làm cho chúng ta toàn tự động Scaffoling ra hết cho chúng ta không cần code gì nữa -- > Và sau đó chúng ta chỉ cẩn việc Build lại dự án và chạy thử kiểm tra kết quả chúng ta đã làm như thế nào nào...
  • Và sau khi chúng ta Build dự án song, bước cuối cùng rất là quan trọng để chạy được dự án, ta thêm vào 2 dòng code ở staup.cs và kéo xuống tìm hàm ConfigureServices thêm đoạn code này vào trong đó
  services.AddDbContext<DbSinhvienOnlineContext>(options =>
            options.UseSqlServer(
                Configuration.GetConnectionString("ConnectionString")));
Và sau khi thêm vào chúng ta thấy dưới có đường line màu đỏ đang hiện lỗi như thế này

Thì lỗi ở đây do chúng ta chưa using Microsoft.EntityFrameworkCore; và thư mục Entity using StudentCRUD.Entity;
Vậy là song, và vì sao chúng ta lại thêm 2 dòng code đó vào Starup.cs là gì chúng ta thêm 2 dòng code đó để dự án của chúng ta có kết nối qua lại với Database để mà truy xuất dữ liệu hay đổ dữ liệu về, nếu không có dòng kết nối đó thì dự án của chúng ta sẽ chạy không được và thực thi các CRUD không được nhé!

Cuối cùng, chúng ta Build dự án và kiểm tra kết quả nãy giờ chúng ta làm được gì nhé.

Kết quả sẽ hiện ra như thế này là thành công bạn nhé! 

3. Kết luận

Thì trên đây mình đã hướng dẫn cho các bạn thực hành một chức năng đơn giản đó là CRUD với ASP.NET Core MVC, chúc các bạn thành công...Như các bạn thấy đó, chức năng CRUD trong .NET Core MVC tương đối là đơn giản phần lớn là Entity Framework đã dựng sẵn cho chúng ta, mình chỉ việc gọi nó và sử dụng, nếu bài viết hữu ích với bạn, hãy giúp mình chia sẻ tới mọi người nha

Đây là bài cơ bản nhất mà bắt buộc học .NET chúng ta phải nhất quyết làm được, các bài viết về .NET Core sau mình sẽ hướng dẫn các bạn các chức năng khác như là Validation...., nếu các bạn trong quá trình làm có bugs gì hay những thắc mắc gì cần hỏi mình, thì đừng ngần lại comment bên dưới hoặc liên hệ qua form liên hệ để mình hỗ trợ và giải đáp nhanh nhất có thể nhé! Chúc các bạn một ngày thật là vui vẻ và đầy nhiệt huyết với Programing!

Mã nguồn mình sẽ upload lên sau để các bạn tham khảo nhé