Sử dụng Entity Framework Core trong Console Application
Cài đặt Visual Studio 2019
Tạo project
Mở Visual Studio 2019. Nhấn Create a new project. Nếu Visual Studio của bạn đang mở click File -> New -> Project để mở trình tạo dự án mới.
Trong trình tạo dự án mới, chúng ta chọn Console từ khung lọc phía trên và chọn Console App (.Net Core). Sau đó bấm Next để tiếp tục.
Cài đặt các gói thư viện EF Core
Tiếp theo chúng ta cần cài đặt thư viện Microsoft.EntityFrameworkCore.
Ở đây chúng ta đang thao tác với cơ sở dữ liệu SQL Server nên chúng ta sẽ cần cài đặt thêm thư viện Microsoft.EntityFrameworkCore.SqlServer. Có các thư viện khác nhau cho các nhà cung cấp cơ sở dữ liệu khác nhau ví dụ đối với SQLite chúng ta sẽ cài đặt Microsoft.EntityFrameworkCore.Sqlite. Khi cài đặt thư viện cơ sở dữ liệu nó sẽ tự động cài đặt Microsoft.EntityFrameworkCore.
Chúng ta sẽ sử dụng NuGet Package Manager để cài đặt các gói thư viện.
Chúng ta sẽ sử dụng NuGet Package Manager để cài đặt các gói thư viện.
Chọn Tools -> NuGet Package Manager -> Manage NuGet Package for Solution.
Sau đó chọn tab Browser -> Nhập Microsoft.EntityFrameworkCore.SqlServer vào ô tìm kiếm và nhấn Enter. Chọn Microsoft.EntityFrameworkCore.SqlServer. Ở cửa sổ bên phải chọn project EFCore sau đó bấm Install. Khi cửa sổ thông báo hiện lên chọn I Accept.
Cài đặt các công cụ EF Core
Gói công cụ Entity Framework Core Tools chứa các dòng mã CLI (command-line interface) dùng để thao tác với việc chuyển dữ liệu tập lệnh (migration) và tạo mã cho model dựa trên cơ sở dữ liệu đang dùng.
Để cài đặt chúng ta mở lại cửa sổ Manage NuGet Package for Solution và tìm kiếm Microsoft.EntityFrameworkCore.Tools.
Mô hình hóa cơ sở dữ liệu
EF Core thực hiệ việc truy cập dữ liệu bằng mô hình. Một mô hình chỉ đơn giản là một POCO class. Ở đâu chung ta gọi nó là entity class.
EF Core sẽ ánh xạ các entity class này bào bảng trong cơ sở dữ liệu.
DBContext class là lớp quản lý entity class hoặc models. Nó là phần quan trọng nhất của EF Core. DBContext chịu trách nhiệm kết nối với cơ sở dữ liệu, truy vấn, cập nhật cơ sở dữ liệu và lưu thông tin cấu hình cơ sở dữ liệu,...
Tạo Context class bằng cách inherit từ DBContext.
Trong thư mục Models tạo class EFContext và thêm đoạn mã sau:
- Dòng thứ 6 class EFContext kế thừa từ class DBContext.
- Dòng thứ 9 tạo một chuỗi và gán giá trị là đường dẫn đến cơ sở dữ liệu chúng ta gọi là connection string.
- Ở dòng 11 chúng ta có method OnConfiguring method này cho phép chúng ta cấu hình DBContext. EF Core gọi method này khi nó khởi tạo lần đầu tiên.
method OnConfiguring instance từ DbContextOptionsBuilder như là đối số của nó. DbContextOptionsBuilder cung cấp API để cấu hình DBContext. - Bên trong method OnConfiguring chúng ta gọi method UseSQLServer method này được cung cấp bởi gói Microsoft.EntityFrameWorkCore.SqlServer. method UseSQLServer đặt SQL Server như là nhà cung cấp cơ sở dữ liệu. Đối số đầu tiên của method UseSQLServer là connection string để sử dụng (dòng 13).
- Dòng 16 chúng ta tạo ra DbSet property cho mỗi model trong context class bởi vì việc tạo model là chưa đủ để ánh xạ nó với cơ sở dữ liệu và EF Core chỉ bao gồm những loại có thuộc tính DbSet trong model.
DbSet cung cấp các phương pháp như Add, Attach, Remove,... trên các Entity. Context class ánh xạ các hoạt động này thành một truy vấn SQL và chạy nó trên cơ sở dữ liệu bằng cách sử dụng trình cung cấp cơ sở dữ liệu.
Tạo cơ sở dữ liệu
Bây giờ mô hình của chúng ta đã sẵn sàng. Trong EF Core chúng ta sẽ dùng Migrations để tạo cơ sở dữ liệu.
Add-Migration
Nhấp vào Tools -> NuGet Package Manager Console để mở cửa sổ Console.
Add-Migration tạo ra các cấu trúc để tạo ra lệnh SQL để cập nhật cơ sở dữ liệu bên dưới cho phù hợp với model. Bạn có thể thấy rằng ba tệp mới được tạo trong thư mục Migrations.
Tạo cơ sở dữ liệu
Bước tiếp theo là tạo cơ sở dữ liệu bằng Migrations đã tạo trước đó.
Mở NuGet Package Manager Console và chạy lệnh Update-Database.
Update-Database sử dụng migrations để tạo các truy vấn SQL. Nếu cơ sở dự liệu không tồn tại nó sẽ tạo ra một cơ sở dữ liệu mới sử dụng connector string













Nhận xét
Đăng nhận xét