29

Bắt đầu sử dụng lệnh thêm di chuyển trong bảng điều khiển trình quản lý gói để tạo các di chuyển cho mô hình của tôi. Câu hỏi của tôi là, phương pháp lên và xuống. Tôi giả sử rằng mục đích của phương thức xuống là loại bỏ tất cả các phụ thuộc và thả các bảng nếu chúng đã có trong cơ sở dữ liệu? Ngoài ra, phương thức down sẽ được thực thi trước phương thức up? Phương pháp lên sau đó là đảo ngược, tạo/cập nhật bảng/chỉ mục, v.v ...?C# Code-Di chuyển đầu tiên, lên/xuống?

Thỉnh thoảng khi tôi sử dụng phương pháp này thì phương thức xuống sẽ nhận được nhiều bảng tạo sau đó bị xóa? Gần đây nó tạo ra và giảm rất nhiều bảng và gần như cùng một điều xảy ra trong phương pháp lên. Tại sao?

Trả lời

53

Phương thức Up nâng cấp cơ sở dữ liệu của bạn từ trạng thái hiện tại (được biểu thị bằng lần di chuyển trước đó) đến trạng thái được mong đợi bằng cách di chuyển mã hiện tại của bạn. Phương thức Down thực hiện thao tác ngược - nó loại bỏ tất cả các thay đổi từ di chuyển hiện tại và hoàn nguyên cơ sở dữ liệu về trạng thái được mong đợi bởi lần di chuyển trước đó. Nó giống như cài đặt/gỡ cài đặt di chuyển. Chỉ một trong các phương thức này được thực hiện khi bạn gọi update-database. Để sử dụng phương thức Down, bạn phải chỉ định rõ ràng di chuyển đích cho bản nâng cấp của mình. Nếu di chuyển mục tiêu là cũ, API di chuyển sẽ tự động sử dụng phương thức Down và hạ cấp cơ sở dữ liệu của bạn.

20

Chỉ cần thêm vào @Ladislav Mrnka. Tôi cần thiết để sử dụng trên xuống() cho lần đầu tiên và đưa tôi một thời gian để làm cho nó hoạt động, như vậy:

Update-Database -Target:201407242157114_46 

đâu di cư cuối cùng của tôi là 47 (trong đó công cụ mới đã được bổ sung). Here's a nice explanation cách khôi phục cơ sở dữ liệu và xóa di chuyển xấu.

Hy vọng nó có thể giúp người học nghề ảo thuật khác :)