Olá, Antonione!
Pelo trecho de código que você compartilhou, parece que você está fazendo a configuração correta para habilitar o Lazy Loading Proxies. A chamada do método AddDbContext dentro do método ConfigureServices da classe Startup está correta, utilizando o UseLazyLoadingProxies() para ativar o Lazy Loading Proxies.
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<Data.AppDbContext>(opts => opts.UseMySQL(Configuration.GetConnectionString("FilmesConnection")).UseLazyLoadingProxies());
services.AddControllers();
}
No entanto, é importante lembrar que o Lazy Loading Proxies só funciona se as propriedades de navegação em suas entidades forem declaradas como virtual, como é mostrado no exemplo da classe Endereco e da classe Cinema na aula/exercício que você compartilhou:
public class Endereco
{
// outras propriedades
public virtual Cinema Cinema { get; set; }
}
public class Cinema
{
// outras propriedades
public virtual Endereco Endereco { get; set; }
}
Essa declaração virtual é necessária para que o EF Core possa criar proxies para essas propriedades e realizar o carregamento preguiçoso (Lazy Loading) quando necessário.
No entanto, é importante ressaltar que o uso do Lazy Loading Proxies pode trazer alguns problemas, como o problema de ciclo de informações mencionado na aula/exercício. Para evitar esse problema, é recomendado o uso de anotações como [JsonIgnore] ou [Ignore] para indicar ao sistema de serialização (por exemplo, ao retornar um objeto JSON) que a propriedade deve ser ignorada.
Espero que isso tenha esclarecido suas dúvidas! Se tiver mais alguma pergunta, é só me dizer. Espero ter ajudado e bons estudos!