Bài 9 – Migrations – EF Core with ASP.NET Core MVC

Bài 8 – Validation
Bài 7 – Bổ sung chức năng tìm kiếm
Bài 6 – Add a new field and update database
Bài 5 – SQL Server LocalDB
Bài 4 – Add a model
Bài 3 – Add a view
Bài 2 – Add Controllers
Bài 1 – Tạo dự án mới ASP.NET Core MVC 1.1

Điểm mới trong Migrations EF Core là không xóa và tạo mới cơ sở dữ liệu mỗi khi thay đổi Model classes mà cho phép cập nhật các bảng trong cơ sở dữ liệu để giữ nguyên những dữ liệu đã nhập trước đây.

Bài này hướng dẫn sử dụng Migrations bằng Command-line interface (CLI)

  • Click chuột phải trên Project > sau đó chọn Edit Tên_dự_án.csproj.
  • Bổ sung dòng thứ 2 sau đây vào file .csproj
<ItemGroup>
<DotNetCliToolReference Include=”Microsoft.VisualStudio.Web.CodeGeneration.Tools” Version=”1.0.0″ />
<DotNetCliToolReference Include=”Microsoft.EntityFrameworkCore.Tools.DotNet” Version=”1.0.0″ />
</ItemGroup>
  • Thay đổi thông tin cơ sở dữ liệu ở connection string trong file appsettings.json
{
“Logging”: {
“IncludeScopes”: false,
“LogLevel”: {
“Default”: “Warning”
}
},
“ConnectionStrings”: {
“MvcMovieContext”: “Server=(localdb)\\mssqllocaldb;Database=MvcMovieContext;Trusted_Connection=True;MultipleActiveResultSets=true”
}
}
  • Create an initial migration

  • Gõ lệnh CMD từ cửa sổ File Explorer

  • Gõ 2 dòng sau từ cửa sổ Console

dotnet ef migrations add InitialCreate

/* sau từ khóa add là tên của migration file, bạn có thể đặt bất kỳ tên gì. Khuyến nghị nên đặt tên gợi nhớ, gợi nghĩa*/

dotnet ef database update

/*Apply the migration to the database */

  • Kiểm tra sự cập nhật thay đổi bằng cách mở SQL Server Object Explorer, mở xem cấu trúc các bảng thay đổi

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s