2013-06-09 33 views
8

Tôi nhận được lỗiEntity Framework mô hình thay đổi lỗi

"Mô hình sao bối cảnh 'DataContext' đã thay đổi kể từ khi cơ sở dữ liệu đã được tạo ra. Xem xét sử dụng Mã Đầu tiên Migrations để cập nhật cơ sở dữ liệu".

Tôi đang sử dụng Khung thực thể và đã thay đổi mô hình của mình sau khi khai báo DataContext. Làm thế nào tôi có thể sửa lỗi này?

+0

mà Entity Framework bạn đang sử dụng? – Rahul

Trả lời

7
  1. Nếu bạn đã triển khai ứng dụng của mình hoặc bạn không muốn xóa dữ liệu khỏi cơ sở dữ liệu bạn phải đọc về Code First Migrations. Ở đây bạn có một liên kết: http://msdn.microsoft.com/en-us/library/hh770484(v=vs.103).aspx

  2. Nếu bạn có thể xóa cơ sở dữ liệu, hãy làm điều đó. EF sẽ tạo cơ sở dữ liệu mới phù hợp với mô hình của bạn.

  3. Bạn cũng có thể vô hiệu hóa tạo/cập nhật cấu trúc cơ sở dữ liệu bằng cách gọi đoạn mã sau:

    Database.SetInitializer<MyDbContext>(null); 
    
9

Nếu bạn xóa __MigrationHistory bảng trong SQL Server nó nên sửa chữa nó.

+3

Xóa tất cả các hàng trong bảng đó cũng có vẻ có cùng tác dụng. – SharpC

0

Xóa bảng __MigrationHistory trong SQL Server hoặc chỉ hoặc tất cả các hàng của bảng này nó nên sửa chữa nó

1

tôi sử dụng cơ sở dữ liệu đầu tiên để tạo ra một dự án sau khi tôi đã thay đổi tôi bối cảnh cơ sở dữ liệu và giải quyết vấn đề của tôi:

Database.SetInitializer<Models.YourDbContext>(null); 

Đừng quên để xử lý các DbUpdateException

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