2013-09-21 45 views
7

Trong khi phát triển một ứng dụng tôi đã sử dụng di chuyển EF tự động. Vì vậy, bây giờ khi tôi đã triển khai ứng dụng của mình trên VPS, tôi không biết cách thêm các bảng và trường mới vào cơ sở dữ liệu của mình.Làm thế nào để cập nhật cơ sở dữ liệu trên máy chủ MSL từ xa (Mã EF Đầu tiên)

Tôi có thể kết nối với cơ sở dữ liệu từ xa trực tiếp từ dự án của tôi trong VS2012, cập nhật chuỗi kết nối và cập nhật cơ sở dữ liệu bằng cách sử dụng "cơ sở dữ liệu cập nhật" trong giao diện quản lý gói không? Hay tôi cần cài đặt VS trên VPS của tôi và cập nhật cơ sở dữ liệu từ VPS?

Cơ sở dữ liệu của tôi đã được lấp đầy dữ liệu, vì vậy tôi không thể xóa nó và tạo lại.

Trả lời

14

Có, bạn có thể sử dụng Visual Studio, theo dõi this tutorial - cũng sẽ hoạt động cho VS 2012.
Bạn cũng có thể sử dụng Code first Migration để cập nhật mô hình của bạn bằng cách sử dụng lệnh này trong gói quản lý giao diện điều khiển:

Update-Database 

và bạn có thể chỉ định tên chuỗi kết nối của bạn:

Update-Database -ConnectionStringName "MyConnectionString" 
+0

cảm ơn bạn! Tôi gặp khó khăn khi truy cập từ xa vào máy chủ. Tôi có thể sử dụng "Update-Database -Script" và sau đó tự chạy script trên máy chủ sql? –

+1

[liên kết này] (http://robertgreiner.com/2012/05/using-entity-framework-database-migrations-to-update-a-remote-database/) có thể hữu ích –

+0

Cẩn thận vì cách này bạn ' không chạy Seed của bạn. –

2

này được giải thích tốt nhất trong liên kết phía dưới. Đọc phần "Lấy tập lệnh SQL". Điều đó sẽ giải thích cách tạo một kịch bản mà bạn có thể chạy trên cơ sở dữ liệu đích của bạn.

Điều này sẽ cần thiết nếu truy cập cơ sở dữ liệu của bạn được bảo vệ IP chẳng hạn.

https://msdn.microsoft.com/en-us/data/jj591621.aspx

+0

Tóm tắt liên kết: sử dụng dòng này khi khởi động ứng dụng:' Database.SetInitializer ( new MigrateDatabaseToLatestVersion ()); ' – FindOutIslamNow

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