28

Trong các dự án EF, có cách nào tốt nhất để đặt Chế độ tự độngĐược kích hoạt không?AutomaticMigrationsEnabled false hoặc true?

More khai:

Trong nhóm chúng tôi sau khi sửa đổi một mô hình chúng ta thường chạy "add-di cư" và "update-databse" lệnh trong Package Manager Console. Lỗi này tăng khi các nhà phát triển khác chạy dự án:

"Không thể thả cơ sở dữ liệu bởi vì nó được sử dụng"

Mỗi khi điều này xảy ra các sửa đổi lần đầu tiên Check In toàn bộ dự án và những người khác nên phải GET sửa đổi các đối tượng. Trong nhiều trường hợp, chúng tôi không muốn kiểm tra mô hình đã được tạo và di chuyển!

Tình huống này khó chịu, có giải pháp nào cho loại sự cố này không. cảm ơn trước.

Trả lời

41

Tự động di chuyển thực hiện tất cả các phép thuật cho bạn nhưng chúng không cho phép phiên bản nghiêm ngặt (bạn không có di chuyển cố định đặc biệt cho mỗi phiên bản). Nếu không có phiên bản nghiêm ngặt, bạn không thể theo dõi phiên bản của cơ sở dữ liệu của bạn và bạn không thể nâng cấp rõ ràng (bạn không thể hạ cấp tất cả).

Nếu bạn không định sử dụng phiên bản mà bạn cần biết phiên bản cơ sở dữ liệu là gì và nếu bạn không định sử dụng hạ cấp, bạn có thể chỉ cần sử dụng di chuyển tự động.

"Không thể thả cơ sở dữ liệu bởi vì nó được sử dụng"

Dường như bạn đang làm việc trên cơ sở dữ liệu chia sẻ = stopper hiển thị. Mỗi nhà phát triển nên sử dụng cơ sở dữ liệu của riêng mình.

nhưng không muốn kiểm tra mô hình và di chuyển đã được tạo!

Đó là phương pháp hay nhất và nếu bạn muốn tiếp tục di chuyển dựa trên mã, bạn sẽ phải tuân theo. Btw. có một thực tế được gọi là "tích hợp liên tục" - trong tích hợp liên tục, bạn nên nhận được ngay sau khi cam kết được xây dựng thành công và vượt qua các bài kiểm tra.

+0

thanks.Yes, chúng tôi đang làm việc trên một DB được chia sẻ. Bạn có thể cho chúng tôi biết về cách chúng tôi có thể bắt đầu sử dụng cơ sở dữ liệu của riêng mình hay không (văn bản, bài viết, sách, ...BẤT K advice lời khuyên nào sẽ được đánh giá cao!) –

+4

Bạn đang tìm kiếm lời khuyên nào? Chỉ cần cài đặt máy chủ cơ sở dữ liệu cục bộ hoặc sử dụng DB cho mỗi nhà phát triển trên máy chủ được chia sẻ. Trong trường hợp trước đây, bạn chỉ cần thay đổi 'Data Source' trong chuỗi kết nối thành máy cục bộ và mọi nhà phát triển sẽ có cơ sở dữ liệu riêng với cùng tên. Trường hợp sau yêu cầu chuỗi kết nối cho mỗi nhà phát triển, do đó bạn sẽ phải đảm bảo rằng một số chính sách đăng ký để tránh lưu trữ chuỗi kết nối của nhà phát triển cụ thể trong điều khiển nguồn. –

+0

vì vậy chúng tôi không cần bất kỳ cơ sở dữ liệu được chia sẻ nào, OK! Tôi đặt ** Nguồn dữ liệu = (cục bộ) ** –

10

Từ: http://msdn.microsoft.com/en-us/data/jj554735.aspx

Khuyến nghị cho Đội Môi trường

Bạn có thể để xen nhau di cư tự động và mã dựa trên nhưng đây là không được khuyến khích trong các kịch bản phát triển đội. Nếu bạn là thành viên của nhóm phát triển sử dụng kiểm soát nguồn, bạn nên sử dụng di chuyển hoàn toàn tự động hoặc di chuyển hoàn toàn dựa trên mã. Với giới hạn số lần di chuyển tự động , chúng tôi khuyên bạn nên sử dụng mã di chuyển dựa trên mã trong môi trường nhóm.