Ich arbeite an einem Projekt mit MVC4 in Visual Studio 2012 und habe eine Spalte in der Tabelle hinzugefügt.Wie kann ich die Migration aktivieren, um meine Datenbank in MVC4 zu aktualisieren?
Jetzt, wenn ich mein Projekt debuggen will, sagt der Fehler, die Migration zu verwenden, um meine Datenbank zu aktualisieren.
Was muss ich tun?
Ich habe einige Methoden viel gesucht und gefunden wie:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer<ResTabelaIndex>(null);
}
, aber nicht wissen, wie und wo zu implementieren diese ... Haben Sie versucht in app_start, global.asax etc ...
Was ich fand, war, die Migrationen direkt in der Konsole aus dem nugget zu ermöglichen.
Aber ich kann das nicht funktionieren.
Befehle Ich benutze:
Enable-Migrations -EnableAutomaticMigrations
==> consolse sagt, dass mehr als ein Zusammenhang gefunden wurde. Um zu verwenden, Enable-Migrations -ContextTypeName NameOfTheNamespace.Models.DefaultConnection
Aber ich weiß nicht, was ist das -ContextTypeName
, habe viel versucht, aber konnte nicht verstehen.
My Model Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Data.Entity.Migrations;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.Infrastructure;
namespace Vista.Models
{
public class TabelaIndex
{
public int ID { get; set; }
public string n_empresa { get; set; }
public string titulo{ get; set; }
public string url { get; set; }
public string imagens { get; set; }
}
public class DefaultConnection : DbContext
{
public DbSet<TabelaIndex> ResTabelaIndex { get; set; }
}
}
FWIW, ich brauchte "hinzufügen base.OnModelCreating (Builder);“ bis zum Ende Ihres OnModelCreating überschreibt, um die automatischen Migrationen zu bekommen auf meinem Produktions-Server zu arbeiten (mit EF 6). –