2013-03-28 50 views
10

Tôi bắt đầu sử dụng EF bằng cách sử dụng cơ sở dữ liệu trước và tạo sơ đồ của tôi từ cơ sở dữ liệu.Cập nhật lược đồ cơ sở dữ liệu mà không làm rơi dữ liệu?

Bây giờ tôi đã chuyển đổi và thực hiện nhiều thay đổi đối với biểu đồ của mình và muốn cập nhật lược đồ cơ sở dữ liệu của mình mà không mất dữ liệu. Tuy nhiên, việc tạo ra cơ sở dữ liệu từ sơ đồ có vẻ như làm giảm tất cả các bảng và tạo lại chúng.

Tôi đã tìm thấy 'di chuyển dữ liệu' cho mã đầu tiên. Có bất cứ điều gì tương tự cho mô hình đầu tiên, hoặc bất kỳ cách nào tôi có thể duy trì dữ liệu?

Tôi đang sử dụng VS 2012 với EF5

+1

Triển khai đến một cơ sở dữ liệu kiểm tra, sau đó làm nên sự khác biệt giữa các cơ sở dữ liệu thử nghiệm và sản xuất sử dụng công cụ của sự lựa chọn của bạn mà tạo ra các kịch bản khác biệt: http : //stackoverflow.com/questions/5861991/deploying-database-changes-with-ef-4-1 – AaronLS

+0

Ngoại trừ "tạo cơ sở dữ liệu từ mô hình" biến tất cả các DefiningQueries (xem) thành các bảng và cắt bỏ tệp edmx trong quá trình . – Dave

+0

Trong trường hợp đó tôi sử dụng chức năng so sánh lược đồ của Visual Studio. Nó hoạt động khá tốt. Đổi tên cột là vấn đề, nhưng ngoài ra nó được công việc làm. –

Trả lời

0

Đừng quên để tìm kiếm thành SO trang web,

http://visualstudiogallery.msdn.microsoft.com/df3541c3-d833-4b65-b942-989e7ec74c87/

Sau khi cài đặt, khi bạn chọn "Tạo cơ sở dữ liệu từ mẫu ... " nó sẽ bật lên trình hướng dẫn mới và bạn có thể chọn" Tạo T-SQL di chuyển "

Loại khác là sử dụng custom t4 để tạo DbMigrationsConfiguration và DbContext từ mô hình của bạn và bạn không cần phải chạy Enable-Migration. Đơn giản chỉ cần chạy Add-Di cư và cập nhật-Cơ sở dữ liệu trong Package Manager Bảng điều khiển

http://blog.amusedia.com/2012/08/entity-framework-migration-with-model.html

+1

Tôi đã tìm kiếm SO, nhưng như tôi đã liệt kê trong câu hỏi của tôi, tôi đang sử dụng VS2012 và EF5, không phải trong số đó được hỗ trợ bởi công cụ đó, thật không may. – Kyle

+0

Không có vấn đề gì, mẫu t4 là cách tốt nhất –

+0

Bạn có thể giải thích cách tôi sẽ sử dụng các mẫu T4 để thực hiện điều này ..? – Kyle

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