Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro no Migration

Ola, depois que fiz o drop no banco e tentei rodar novamente o migration, estou pegando esse erro:

Unable to create an object of type 'AppDbContext'. For the different patterns supported at design time, see https://go.microsoft.com/fwlink/?linkid=851728

Estou usando .net 6.

Meu AppDbContext

using Microsoft.EntityFrameworkCore;

namespace FilmesApi.Data;

public class AppDbContext : DbContext
{
    public AppDbContext(DbContextOptions<AppDbContext> opt) : base(opt)
    {

    }

    protected override void OnModelCreating(ModelBuilder builder)
    {

        builder.Entity<Sessao>()
             .HasKey(sessao => new { sessao.FilmeId, sessao.CinemaId });

        builder.Entity<Sessao>()
            .HasOne(sessao => sessao.Cinema)
            .WithMany(cinema => cinema.Sessoes)
            .HasForeignKey(sessao => sessao.CinemaId);

        builder.Entity<Sessao>()
            .HasOne(sessao => sessao.Filme)
            .WithMany(filme => filme.Sessoes)
            .HasForeignKey(sessao => sessao.FilmeId);
    }

    public DbSet<Filme> Filmes { get; set; }
    public DbSet<Cinema> Cinemas { get; set; }
    public DbSet<Endereco> Enderecos { get; set; }
    public DbSet<Gerente> Gerentes { get; set; }
    public DbSet<Sessao> Sessoes { get; set; }
}
3 respostas

Oi Antonio, tudo bem?

O erro menciona que não é possível criar um objeto do tipo 'AppDbContext' e sugere verificar os padrões suportados em tempo de design.

Esse erro geralmente ocorre quando há algum problema na configuração do contexto do banco de dados. No seu caso, parece que o problema está relacionado à classe 'AppDbContext' que herda de 'DbContext'.

Uma possível solução para esse erro é verificar se você está passando as opções corretas para o construtor do 'AppDbContext'. Certifique-se de que você está passando as opções corretas para o contexto do banco de dados. Por exemplo:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<AppDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    }
}

Tenha certeza de que você está passando as opções corretas para o contexto do banco de dados de acordo com o banco de dados que você está utilizando.

E também, por favor, veja se você tem a biblioteca correta instalada para o provedor de banco de dados que você está utilizando. Por exemplo, se você está usando o SQL Server, certifique-se de que você tenha instalado o pacote 'Microsoft.EntityFrameworkCore.SqlServer'.

Um abraço e bons estudos.

Olá Lorena, boa tarde! Obg do retorno!

Mas está tudo conforme suas observações.

solução!

Entity Framework - The migrations configuration type was not be found in the assembly

Resolvido desta forma:

EntityFrameworkCore\Add-Migration

https://stackoverflow.com/questions/39001525/entity-framework-the-migrations-configuration-type-was-not-be-found-in-the-ass