2012-12-18 28 views
109

Làm cách nào để sử dụng Entity Framework 5 Code First Migrations để tạo tập lệnh cơ sở dữ liệu đầy đủ từ trạng thái ban đầu (trống) sang lần di chuyển mới nhất?Tạo tập lệnh SQL đầy đủ từ EF 5 Code Migration First

Các bài viết trên blog tại MSDN Blog gợi ý để làm điều này, nhưng có vẻ như để tạo ra một kịch bản trống:

Update-Database -Script -SourceMigration: $InitialDatabase 
+0

https://msdn.microsoft.com/en-us/library/jj591621(v=vs.113).aspx#Generating-Idempotent-Scripts-EF6-onwards –

Trả lời

213

API dường như đã thay đổi (hoặc ít nhất, nó không làm việc cho tôi).

Chạy sau trong Package Manager Bảng điều khiển hoạt động như mong đợi:

Update-Database -Script -SourceMigration:0 
+10

Tôi nhận ra đây là câu trả lời đúng, nhưng làm thế nào trên trái đất bạn đã phát hiện ra rằng 0 hoạt động khi tham số bình thường là một chuỗi ?! –

+20

Chỉ cần dùng thử và lỗi thực sự sau khi thử tất cả mọi thứ tôi có thể nghĩ đến để lừa nó hoạt động :) –

+0

Điều này có tạo bản sao chính xác của cơ sở dữ liệu không? Bao gồm các nội dung bảng? – Multitut

2

Để thêm vào câu trả lời Matt wilson của tôi đã có một loạt các lớp thực thể mã đầu tiên nhưng không có cơ sở dữ liệu như tôi đã không được thực hiện một bản sao lưu . Vì vậy, tôi đã làm như sau về dự án Entity Framework tôi:

Mở Package Manager console trong Visual Studio và gõ như sau:

Enable-Migrations 

Add-Migrations 

Cho chuyển đổi của bạn một tên như 'Initial' và sau đó tạo ra sự di cư. Cuối cùng, hãy nhập như sau:

Update-Database 

Update-Database -Script -SourceMigration:0 

Lệnh cuối cùng sẽ tạo bảng cơ sở dữ liệu từ lớp thực thể của bạn (miễn là lớp tổ chức của bạn được tạo đúng).

Các vấn đề liên quan