Trang chủ / ASP.NET Core / Làm việc với SQL Server LocalDB

Làm việc với SQL Server LocalDB

Làm việc với SQL Server LocalDB. Sau khi đã thêm model trong asp.net core rồi. Hôm nay chúng ta sẽ tiến hành làm việc với cơ sở dữ liệu, trong Visual Studio Microsoft đã hỗ trợ sẵn SQL Sever Expresss Datavase Engine nên mình sẽ hướng dẫn các bạn sử dụng công cụ này luôn. 

Lớp ApplicationDbContext xử lý các tác vụ kết nối với cơ sở dữ liệu và đưa  đối tượng Movie để ghi vào cơ sở dữ liệu. Database context  được đăng ký với  Dependency Injection trong phương thức ConfigureServices nằm ở tập tin Startup.cs:

thêm kết nối cơ sở dữ liệu

 

Tiến hành mở tập tin appsettings.json, chú ý ConnectionStrings, đây là nơi để tiến hành kết nối với cơ sở dữ liệu của bạn, và bạn có thể chỉnh sửa các thông tin tại đây nếu bạn muốn kết nối đến cơ sở dữ liệu khác của bạn. Xem thêm configuration

thêm kết nối cơ sở dữ liệu

SQL Server Express LocalDB

LocalDB đó là một phiển bản rút gọn của SQL Sever Expresss Datavase Engine nhằm giúp cho lập trình viên dễ dàng phá t triển chương trình của họ trên chính Visual Studio thay vì phải sử dụng SQL Sever.  LocalDb được thiết kế để bạn có thể sử dụng ngay nên LocalDb không cần cấu hình. Theo mặc định, LocalDb tạo cơ sở dữ liệu có định dạng “*.mdf” nằm trong C:/Users/<user>

  • Từ Menu View, mở SQL Sever Object Explorer (SSOX)
Làm việc với SQL Server LocalDB
Làm việc với SQL Server LocalDB
  • Click chuột phải vào bảng Movie -> View Desiger
Làm việc với SQL Server LocalDB - Ảnh 2
Làm việc với SQL Server LocalDB – Ảnh 2
Làm việc với SQL Server LocalDB - Ảnh 3
Làm việc với SQL Server LocalDB – Ảnh 3

Chú ý đến ID. Mặc định, EF, sẽ thiết lập thuộc tính ID là khóa chính của cơ sở dữ liệu

  • Kích chuột phải vào bảng Movie -> View Data
Làm việc với SQL Server LocalDB - Ảnh 4
Làm việc với SQL Server LocalDB – Ảnh 4
Làm việc với SQL Server LocalDB - Ảnh 5
Làm việc với SQL Server LocalDB – Ảnh 5

Seed the database

Tạo một lớp mới có tên là SeedData trong thư mục Models. Tiến hành nhập các đoạn mã sau:

code lam viec voi sql sever localdb

Những đoạn mã này nhằm tạo cơ sở dữ liệu mẫu cho bạn. Chú ý rằng nếu có bắt kỳ bộ phim nào trong cơ sở dữ liệu, thì nó sẽ không tiến hành tạo cơ sở dữ liệu mẫu nhờ những đoạn mã bên dưới:

code lam viec voi sql sever localdb

Thêm phương thức Initialize vào cuối tập tin Startup.cs

code lam viec voi sql sever localdb

Chạy ứng dụng

Trước khi chạy ứng dụng hãy tiến hành xóa tất cả các dữ liệu trong cơ sở dữ liệu. Bạn có thể thực hiện việc này từ việc xóa tất cả dữ liệu đó thông qua trình duyệt hoặc từ SSOX. Việc này nhằm cho ứng dụng bắt buộc phải khởi tạo cơ sở dữ liệu có dữ liệu mẫu từ những đoạn mã trong tập tin Startup. Để thực hiện điều này IIS phải được dừng lại và khởi động lại. Bạn có thể làm điều này như sau:

  • Kích chuột phải vào icon của IIS vào góc cuổi bên phải màn hình và chọn Exit hoặc Stop Site 
Làm việc với SQL Server LocalDB - Ảnh 6
Làm việc với SQL Server LocalDB – Ảnh 6
Làm việc với SQL Server LocalDB - Ảnh 7
Làm việc với SQL Server LocalDB – Ảnh 7
  • Nếu bạn chạy VS không trong chế độ debug thì chỉ cần F5 để chạy debug là được
  • Nếu bạn chạy VS trong chế độ debug, bạn phải dừng chế độ debug lại và tiến hành F5

Nếu database không được khởi tạo, hãy tạo một break point đến dòng if (context.Movie.Any()) và bắt đầu debug

Ứng dụng sẽ hiển thị dữ liệu như bên dưới.

Làm việc với SQL Server LocalDB - Ảnh 8
Làm việc với SQL Server LocalDB – Ảnh 8

Link tải source code: Google Drive
Series Navigation<< Thêm một Model trong ứng dụng ASP.NET Core qua mô hình MVCPhương thức Controller và View trong ASP.NET Core MVC đầu tiên part 1 >>

Thông tin Nguyễn An Hoàng Nguyên

Đam mê về lập trình, thích viết lách. Có hứng thú với thương mại điện tử và kinh doanh

Check Also

widget trong template này

Generic Repository Pattern là gì ? Cách sử dụng trong ASP.NET Core

Cũng đã gần 3 tháng mình mới viết bài mới. 3 tháng trước mình đã …

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *