6

Tôi muốn sửa đổi một DB được phát triển với EF 4.1 (Mã Đầu tiên). Tôi nâng cấp dự án vào EF 4.3 và làm theo bước này: http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspxEF (Entity Framework) 4.3 Công cụ di chuyển không hoạt động trên EF 4.1 DB

Mọi thứ đều tiến triển tốt, nhưng khi tôi muốn thử nghiệm trên hiện tại DB (EF 4.1 Mã đầu tiên), Update-Cơ sở dữ liệu nâng lỗi này:

Cannot scaffold the next migration because the target database was created with a version of Code First earlier than EF 4.3 and does not contain the migrations history table. To start using migrations against this database, ensure the current model is compatible with the target database and execute the migrations Update process. (In Visual Studio you can use the Update-Database command from Package Manager Console to execute the migrations Update process).

Tôi đã tự hỏi làm thế nào tôi có thể di chuyển một EF 4.1 (Mã đầu tiên) DB? Hơn nữa DB còn sống và có dữ liệu và tôi không thể thả bảng.

+1

thông báo lỗi đọc. Làm theo hướng dẫn. – jrummell

+0

Nhưng đó là một thông báo lỗi đệ quy. –

Trả lời

8

Bạn cần tạo một di chuyển trống và thực thi nó trước khi thực hiện thay đổi đối với mô hình của bạn. Nó sẽ tạo ra bảng lịch sử di chuyển cho bạn. Sau đó, bạn có thể sử dụng di chuyển cho các thay đổi mới. Tôi đã viết walkthrough article về chủ đề này.

+0

Hi Ladislav, tôi đã làm theo hướng dẫn của bạn, nhưng khi tôi muốn thêm di chuyển ban đầu trong Package Manager Console (PM> Add-Migration InitialMigration -IgnoreChanges), nó lại đưa ra lỗi này: "Không thể dàn dựng quá trình di chuyển tiếp theo vì cơ sở dữ liệu đích đã được tạo một phiên bản của Code First sớm hơn EF 4.3 và không chứa bảng lịch sử di chuyển .... " – Pouyan

+0

Nó hoạt động, đầu mối là bạn nên làm" Add-Migration InitialMigration -IgnoreChanges "trước bất kỳ thay đổi nào – Pouyan

+0

Điều này được đề cập trong đoạn của bài báo. –

0

Run "Add-Migration InitialMigration -IgnoreChanges" trước khi thực hiện bất kỳ thay đổi mô hình .. Hãy chắc những thay đổi cần thiết, sau đó chạy "cập nhật cơ sở dữ liệu"