/ / Come ripristinare prima le migrazioni del database utilizzando il codice EF? - c #, .net, framework di entità, ef-code-first, ef-migrations

Come resettare le migrazioni del database usando prima il codice EF? - c #, .net, entity-framework, ef-code-first, ef-migrations

Ho un progetto di libreria di classi con il mio DbContext e la migrazione abilitata con il seguente file di configurazione:

<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<connectionStrings>
<add name="DataContext" connectionString="Data Source=Data.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.4.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
</configuration>

Qualche tempo prima ho giocato con le migrazioni per questo progetto e il comando Get-Migrations mi restituisce sempre:

PM> Get-Migrations -StartupProjectName "Data"
Retrieving migrations that have been applied to the target database.
201207012104355_Initial
201207012031234_Initial
201207012024250_Initial

Il problema è che il comando restituisce sempre questielementi anche se elimino Data.sdf o elimino tutti i progetti e ne realizzo uno nuovo. L'unico modo per creare un nuovo database è, ad esempio, modificare il nome del file di database nella stringa di connessione da Data.sdf a Data1.sdf. Quindi, come posso ripristinare la cronologia delle migrazioni senza cambiare il nome del database?

risposte:

5 per risposta № 1

Non so se questo è il metodo ufficiale. Ma ecco come l'ho fatto.

  1. File di migrazione eliminato
  2. Riga corrispondente eliminata da __MigrationHistory

    ELIMINA DA __MigrationHistory DOVE MigrationId = "201210271944168_AddLogTable"