Pergunta

Por alguma razão eu ter iniciado a minha desenvolvimento do meu projeto do banco de dados.Em seguida, usei POCO para a geração de meu entitities, entidade configurações e o contexto.

Em meu próximo passo, eu gostaria de fazer minha inscrição criar novo banco de dados se o banco de dados especificado na string de conexão do arquivo de configuração não existe.

O problema que eu enfrentei no momento é a seguinte:quando eu estou a tentar obter FirstOrDefault a partir de um DBSet do meu modelo eu estou recebendo a seguinte mensagem de erro

Do sistema.Dados.Entidade.Núcleo.EntityCommandExecutionException:Um erro ocorreu durante a execução do comando de definição.Ver o interior exceção para obter detalhes.---> Sistema.Dados.SqlClient.SqlException:Nome de objecto inválido 'dbo.A função'.

Eu estou usando a seguinte configuração de minha entidade

 internal class RoleConfiguration : EntityTypeConfiguration<Role>
    {
        public RoleConfiguration(string schema = "dbo")
        {
            ToTable("Role", schema);
            HasKey(x => x.RoleId);

            Property(x => x.RoleId).HasColumnName("RoleId").IsRequired().HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
            HasMany(t => t.Roles_RoleId).WithMany(t => t.Roles_ChildRoleId).Map(m =>
            {
                m.ToTable("RoleRoles", schema);
                m.MapLeftKey("ChildRoleId");
                m.MapRightKey("RoleId");
            });
        }
    }
Foi útil?

Solução

Se você deseja EF para criar banco de dados para você, você precisa definir correto inicializador no contexto construtor.Por exemplo, como este:

public YourContextEntities() : base("name=ConnectionStringName")
{
    Database.SetInitializer(new CreateDatabaseIfNotExists<YourContextEntities>());
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top