/ / Como redefinir as migrações de banco de dados usando o código EF primeiro? - c #, .net, estrutura de entidade, ef-code-first, ef-migrações

Como redefinir as migrações de banco de dados usando o código EF primeiro? - c #, .net, entidade-estrutura, ef-code-first, ef-migrações

Eu tenho um projeto de biblioteca de classes com meu DbContext e a migração ativada com o seguinte arquivo de configuração:

<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>

Algum tempo antes de eu jogar com migrações para este projeto, o comando Get-Migrations sempre retorna o seguinte para mim:

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

O problema é que o comando sempre retorna essesitens, mesmo se eu excluir Data.sdf ou excluir todo o projeto e criar um novo. A única maneira de criar um novo banco de dados é alterando o nome do arquivo do banco de dados na cadeia de conexão de Data.sdf para Data1.sdf, por exemplo. Então, como posso redefinir o histórico de migração sem alterar o nome do banco de dados?

Respostas:

5 para resposta № 1

Não sei se esse é o método oficial. Mas aqui está como eu fiz.

  1. Arquivo de migração excluído
  2. Linha correspondente excluída de __MigrationHistory

    DELETE FROM __MigrationHistory WHERE MigrationId = "201210271944168_AddLogTable"