EF Core - Cài đặt Entity Framework Core
Cài đặt Entity Framework Core
Entity Framework Core có thể được sử dụng với các ứng dụng dựa trên .NET Core hoặc .NET Framework 4.6. Ở phần này, bạn sẽ tìm hiểu cách cài đặt và sử dụng Entity Framework Core 2.0 trong các ứng dụng .NET Core bằng Visual Studio 2017.
EF Core không phải là một phần của .NET Core và .NET Framework tiêu chuẩn. Nó là một gói NuGet. Bạn cần cài đặt các gói NuGet cho hai thành phần sau đây để sử dụng EF Core trong ứng dụng của bạn:
- Trình cung cấp cơ sở dữ liệu của EF Core.
- Công cụ EF Core.
Cài đặt trình cung cấp cơ sở dữ liệu của EF Core
Như đã đề cập trong phần trước, EF Core cho phép chúng ta truy cập cơ sở dữ liệu thông qua mô hình trình cung cấp.
Có các trình cung cấp cơ sở dữ liệu EF Core cho các cơ sở dữ liệu khác nhau. Các trình cung cấp này có sẵn dưới dạng các gói NuGet.
Trước tiên, chúng ta cần cài đặt gói NuGet cho trình cung cấp cơ sở dữ liệu mà chúng ta muốn truy cập. Ở đây, chúng tôi muốn truy cập cơ sở dữ liệu MS SQL Server, vì vậy chúng tôi cần cài đặt gói NuGet Microsoft.EntityFrameworkCore.SqlServer
.
Để cài đặt gói NuGet của trình cung cấp DB, bạn nhấp chuột phải vào dự án trong Solution Explorer trong Visual Studio và chọn Manage NuGet Packages.. (hoặc chọn trên menu: Tools -> NuGet Package Manager -> Manage NuGet Packages For Solution).
Điều này sẽ mở giao diện trình quản lý gói NuGet. Nhấp vào tab Browse hoặc tab Updates và tìm kiếm Microsoft.entityframeworkcore trong hộp tìm kiếm ở góc trên cùng bên trái, như hình ảnh bên dưới.
Chọn trình cung cấp cho cơ sở dữ liệu bạn muốn truy cập. Trong trường hợp này, chọn Microsoft.EntityFrameworkCore.SqlServer
cho MS SQL Server như hình trên. (đảm bảo rằng nó có logo .NET và tác giả là Microsoft). Nhấp vào Install để bắt đầu cài đặt.
Cửa sổ xem trước hiển thị danh sách các gói sẽ cài đặt trong ứng dụng của bạn. Xem lại các thay đổi và nhấp vào OK.
Cuối cùng, chấp nhận các điều khoản cấp phép liên quan đến các gói sẽ được cài đặt.
Điều này sẽ cài đặt gói Microsoft.EntityFrameworkCore.SqlServer
. Kiểm tra nó trong Dependencies -> NuGet, như hình ảnh bên dưới.
Ngoài ra, bạn cũng có thể cài đặt gói NuGet của trình cung cấp bằng Package Manager Console. Chuyển đến Tools -> NuGet Package Manager -> Package Manager Console và thực hiện lệnh sau để cài đặt gói trình cung cấp SQL Server:
PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer
Cài đặt công cụ của EF Core
Cùng với gói trình cung cấp DB, bạn cũng cần cài đặt các công cụ EF để thực thi các lệnh EF Core.
Điều này giúp dễ dàng thực hiện một số nhiệm vụ liên quan đến EF Core trong dự án của bạn tại thời điểm thiết kế, chẳng hạn như chuyển đổi, scaffolding, v.v.
Công cụ EF có sẵn dưới dạng các gói NuGet. Bạn có thể cài đặt gói NuGet cho các công cụ EF tùy thuộc vào nơi bạn muốn thực thi các lệnh: sử dụng Package Manager Console (phiên bản PowerShell của các lệnh EF Core) hoặc sử dụng dotnet CLI.
Cài đặt công cụ EF Core cho PMC
Để thực thi các lệnh EF Core từ Package Manager Console, hãy tìm kiếm gói Microsoft.EntityFrameworkCore.Tools
từ NuGet UI và cài đặt nó như hình ảnh bên dưới.
Điều này sẽ cho phép bạn thực thi các lệnh EF Core cho scaffolding, chuyển đổi, vv trực tiếp từ Package Manager Console (PMC) trong Visual Studio.
Cài đặt công cụ EF Core cho dotnet CLI
Nếu bạn muốn thực thi các lệnh EF Core từ CLI (Giao diện dòng lệnh) của .NET Core, trước tiên hãy cài đặt gói NuGet Microsoft.EntityFrameworkCore.Tools.DotNet
bằng NuGet UI.
Sau khi cài đặt gói Microsoft.EntityFrameworkCore.Tools.DotNet
, chỉnh sửa file .csproj bằng cách nhấp chuột phải vào dự án trong Solution Explorer và chọn Edit <projectname>.csproj. Thêm node <DotNetCliToolReference>
như ví dụ dưới đây. Đây là một bước bổ sung mà bạn cần thực hiện để thực thi các lệnh EF Core 2.0 từ dotnet CLI trong Visual Studio 2017.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
</Project>
Bây giờ, hãy mở dấu nhắc lệnh (hoặc thiết bị đầu cuối như PowerShell chẳng hạn) từ thư mục gốc của dự án của bạn và thực hiện các lệnh EF Core từ CLI bắt đầu bằng lệnh dotnet ef, như hình ảnh bên dưới.