Benim cevabım biraz saçma olabilir ama: yeniden deneme için göç paket yöneticisi konsolunu açın ve önceki göçe düşürün. Eğer benim gibi, bazı zamanlar Seed() yönteminde sorun yaşıyorsanız, genellikle yaptığım şey sadece Protect Seed() 'i çağıran bir genel yöntem oluşturmaktır.
public void SeedDebug(AppDbContext context)
{
Seed(context);
}
sonra benim HomeController ben hata ayıklama modunda bu yöntemi diyoruz.
public class HomeController : Controller
{
var appDb = new AppDbContext();
public ActionResult Index()
{
var config = new Configuration();
config.SeedDebug(appDb);
return View();
}
}
Biliyorum bu biraz topal bir çözümdür, ancak basit ve hızlıdır. Elbette bu, model oluşturulduktan sonra yapılmalıdır.
- comment tohum yöntemi ve modeli yöntemi Seed (yorumsuz
oluşturun) ve "kesmek" Ben yukarıda belirtilen eklentisi için güncelleme-veritabanını yürütün: Yani adım adım.konfigürasyonda
- devre dışı Otomatik göçler
AutomaticMigrationsEnabled = false; Eğer bu adımı
Debug uygulamanız atlamak hatayı düzeltmek ve çıkarmak zaten bu engelli varsa, "kesmek" //
Sadece standart C# kodu - yani evet, tabii ki, içinde kesme noktaları ayarlayabilirsiniz ..... –
ama uygulama aslında bu yana çalışmıyor Paket Yöneticisi Konsolu'nu kullanıyorum. – Daniel
O halde, Paket yöneticisi konsolundan yükseltme yapmayın, ancak geçiş başlatıcıyı varsayılan başlatıcı olarak ayarlayın; böylece, veritabanınız uygulamaya ilk kez bağlandığında, bu veritabanı birleştirilir. –