Ho una classe modello di nome Foo
che ha, tra gli altri, queste proprietà.
public string StripeRecipientId { get; set; }
public override bool HasProvidedBillingInformation
{
get
{
// return !string.IsNullOrEmpty(this.StripeRecipientId);
return false;
}
}
Ho abilitato le migrazioni e sto usando Code First. Quando -Force
comando update-database
, con o senza l'opzione -Force
, ottengo questo errore:
Column names in each table must be unique. Column name 'StripeRecipientId' in table 'dbo.Foos' is specified more than once.
Ho ricontrollato e controllato tre volte e c'è solo una colonna con quel nome sia nel mio modello che nella tabella. Questa colonna è stata creata già da una precedente esecuzione del comando update-database
poco fa.
Sono tentato di cancellare il mio database e quindi applicare le migrazioni, ma ciò significa che dovrò creare molti dati di test solo per poter testare la funzione su cui sto lavorando proprio ora.
Sto usando Entity Framework v6.1.2.
Come faccio a liberarmi di questo errore?
Esegui il comando Add-Migration
con il flag -IgnoreChanges
. Quindi eseguire Update-Database
nuovo il Update-Database
.
-Aggiornare-
Questi comandi devono essere eseguiti nella console di Gestione pacchetti. Dal menu principale: Strumenti-> Gestore pacchetti NuGet -> Console Gestione pacchetti.
Add-Migration -IgnoreChanges
questo Add-Migration -IgnoreChanges
e ho ricevuto l'errore che le precedenti due migrazioni sono in sospeso. Esempio: Migration-1, Migration-2
Corro update-database -target Migration-1
e
update-database -target Migration-2
Database creato con successo. Running Seed method.