6

Uygulamamda başarılı bir şekilde EF 5 Kodu ilk kullanıyorum. Yaklaşık 40 masam var. Ancak, doğru bir şekilde ele alınmaları için Göçler almaya gelebileceğim bir sorunla karşılaştım. Öyleyse, yapmak istediğim şey, EF'in, veritabanının mevcut şemasını yeni bir başlangıç ​​noktası olarak ele almasını ve bunu bu noktadan yönetmeye başladığını söylemektir. Bu şekilde, gerekli şema değişikliğini manuel olarak yapabilirim ve sonra EF’e esasen bu noktadan başlayacağını söyleyebilirim.Varlık Çerçevesi 5 Kod İlk - Nasıl "baştan başlamak"?

Bunu yapmamın bir yolu var mı? __MigrationHistory tablosunu silmek veya içeriğini kaldırmak zorunda kalacağımı farz ediyorum. Ama bunu yapmanın en iyi yolu olduğundan emin değilim.

cevap

8

aşağıdakileri yapmak gerekir: manuel

  • Değişim veritabanı alışkanlık bir göç tarafından ele alınması modelinde değişiklikleri yansıtacak şekilde. Her şey şimdi çalışmalı, ancak veritabanı ve göç sistemi senkronize değil.

  • Çalıştır Add-Migration ManuallyUpdatedDatabase -IgnoreChanges. Bu, tamamen boş olan bir geçiş oluşturur, bu nedenle veritabanında herhangi bir değişiklik yapmaz, ancak sistemin, yapılan manuel değişikliklerden haberdar olmasını sağlar. Bu şekilde, el ile yapılan değişiklikler, oluşturduğunuz bir sonraki geçişe dahil edilmez.

  • Boş geçişi uygulamak için Update-Database'u çalıştırın.

Burada her şey her zamanki gibi çalışmalıdır. Göçmenlerinizde "eksik bağlantı" var, çünkü bazı değişiklikleri manuel olarak ele aldınız.