EF Code-First - Migration
Migration trong Entity Framework
Entity Framework Code First có các chiến lược khởi tạo cơ sở dữ liệu khác nhau như CreateDatabaseIfNotExists
, DropCreateDatabaseIfModelChanges
, và DropCreateDatabaseAlways
.
Tuy nhiên, có một số vấn đề với các chiến lược này, ví dụ: nếu bạn đã có dữ liệu (trừ seed data - dữ liệu ban đầu được thêm bằng code) hoặc stored procedures, triggers, v.v. trong cơ sở dữ liệu của bạn.
Các chiến lược này được sử dụng để loại bỏ toàn bộ cơ sở dữ liệu và tạo lại nó, do đó bạn sẽ mất dữ liệu và các đối tượng DB khác.
Entity Framework đã giới thiệu một công cụ migration tự động cập nhật lược đồ cơ sở dữ liệu khi mô hình của bạn thay đổi mà không mất bất kỳ dữ liệu hiện có hoặc các đối tượng cơ sở dữ liệu khác.
Nó sử dụng một trình khởi tạo cơ sở dữ liệu mới gọi là MigrateDatabaseToLatestVersion
.
Có hai loại Migration:
- Migration tự động.
- Migration dựa trên mã.