Kết nối cơ sở dữ liệu với ASP.NET Core

0

Chào mọi người! Tiếp tục loại bài hướng dẫn ASP.NET Core Web app trên Windows với visual studio 2017. Ở bài trước chúng ta đã tìm hiểu về Hướng dẫn tạo Scaffolded Razor Pages trên ASP.NET Core còn bây giờ chúng ta sẽ tiếp tục tìm hiểu việc kết nối và làm việc của ASP.NET Core với cơ sở dữ liệu(database) như thế nào?

RazorPagesMovieContext là đối tượng giúp xử lí công việc kết nối với cơ sở dữ liệu và mapping(ánh xạ) của Movie class tới các bảng ghi của cơ sở dữ liệu.

Database context được đăng kí trong DI (Dependency injection) chứa trong phương thức ConfigureServices của file Startup.cs với nội dung như sau:

Để biết thêm thông tin về các phương thức được sử dụng trong ConfigureServices có thể tham khảo link bên dưới:

Trong ASP.NET Core việc cấu hình chuối kết nối hiển thị ở biến ConnectionString. Cho ứng dụng được phát triển trên local. Thông tin cơ sở dữ liệu được lấy từ file appsettings.json.

Khi mà ứng dụng được triển khai để Test hay chạy thật trên server thì cần tìm hiểu thêm cấu hình môi trường của server để có thể chạy ứng dụng một cách tối ưu nhất.

Sau đây là hướng kết nối với Cơ sở dữ liệu trên Visual studio với SQL Server Express LocalDB:

LocalDB là phiên bản gọn nhẹ của công cụ cơ sở dữ liệu SQL Server Express được nhắm mục tiêu phát triển chương trình. LocalDB bắt đầu theo yêu cầu và chạy trong chế độ người dùng, vì vậy không có cấu hình phức tạp. Theo mặc định, cơ sở dữ liệu LocalDB tạo các tệp * .mdf trong thư mục C: / Users / <user />.

Từ View trên thanh menu nhấn chọn SQL Server Object Explorer (SSOX).

Nhấn chuột phải trên bảng Movie rồi chọn View Designer:

Sau khi chọn sẽ xuất hiện như hình bên dưới:

Nhấp chuột phải vào bảng Movie và chọn Xem dữ liệu:

Seed the database

Tạo một lớp mới có tên SeedData trong thư mục Mô hình với code sau:

Add the seed initializer

Trong Program.cs, sửa đổi phương thức Main để làm như sau:

  • Get a DB context instance from the dependency injection container.
  • Call the seed method, passing to it the context.
  • Dispose the context when the seed method completes

 

Kết quả khi chạy trên localhost:

 

 

LEAVE A REPLY