Pergunta

Estou usando migrações de código inicial para criar e atualizar o banco de dados do meu site asp mvc.

Tenho um DbContext, que está em outro projeto da solução.

public class EFDbContext : DbContext
{
    public DbSet<Book> Books { get; set; }
    public DbSet<Author> Authors { get; set; }
    public DbSet<Publisher> Publishers { get; set; }
}

Quando eu habilito migrações e adiciono migração [nome].Parece criar seu próprio banco de dados chamado

[foo-projectname].Domain.Concrete.EFDbContext

Em vez de anexar ao banco de dados que criei, chamado [foo-nome do projeto].No webconfig do site a string de conexão está referenciada por catálogo "[foo-nome do projeto]".

Se eu alterar o webconfig para outro banco de dados, obterei resultados dos itens que adicionei a esse banco de dados.No entanto, quero usar o banco de dados que criei.

A razão pela qual não quero continuar com este criado automaticamente é porque não tenho certeza sobre a migração para o SqlServer e não quero ficar preso mais adiante.Também estou recebendo o erro

O modelo que suporta o contexto 'EFDbContext' mudou desde...

mesmo quando eu não mudei nada.

Foi útil?

Solução

X é o nome do projeto que contém derivados DbContext aula.

  • Certifique-se de que Default project sobre Package Manager Console é X
  • Certifique-se de que o projeto de inicialização ativo na solução seja X

Outra solução alternativa é fornecer os seguintes parâmetros ao executar a sintaxe de migração.

-ProjectName X -StartUpProjectName X

Descrição de alguns parâmetros:

-ProjectName <String>
    Specifies the project that contains the migration configuration type to be
    used. If omitted, the default project selected in package manager console
    is used.

-StartUpProjectName <String>
    Specifies the configuration file to use for named connection strings. If
    omitted, the specified project's configuration file is used.

-ConfigurationTypeName <String>
    Specifies the migrations configuration to use. If omitted, migrations will
    attempt to locate a single migrations configuration type in the target
    project.

-ConnectionStringName <String>
    Specifies the name of a connection string to use from the application's
    configuration file.

-ConnectionString <String>
    Specifies the the connection string to use. If omitted, the context's
    default connection will be used.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top