Olá pessoal, tudo bem? Deixo aqui algumas modificações que fiz para rodar o projeto e seguir o curso usando .net 6. A principal diferença é com relação a classe “startup.cs” que não é utilizada na versão 6 e 7 do .net. Então as configurações devem ser feitas direto na classe “Program.cs”.
Tive dificuldade com a string de conexão, acabei fazendo dessa forma:
//connection to db
builder.Services.AddDbContext<ApplicationContext>(opt =>
opt.UseSqlServer(builder.Configuration.GetConnectionString("Default")));
Para o database update automático:
// automatic database update - com ajuda do ChatGPT
builder.Services.BuildServiceProvider().GetRequiredService<IDataService>().InicializaDB();
Para adicionar o controllerView:
// Add services to the container.
builder.Services.AddControllersWithViews();
Para a injeção de dependências:
//add temporary dependencies
builder.Services.AddTransient<IDataService, DataService>();
builder.Services.AddTransient<IProdutoRepository, ProdutoRepository>();
builder.Services.AddTransient<IPedidoRepository, PedidoRepository>();
builder.Services.AddTransient<IItemPedidoRepository, ItemPedidoRepository>();
builder.Services.AddTransient<ICadastroRepository, CadastroRepository>
Para manter os dados da Sessão:
//add session to maintain state
builder.Services.AddDistributedMemoryCache();
builder.Services.AddSession();
e abaixo de “app.useStaticFile”:
app.UseSession();
Para ter acesso ao “IHttpContextAcessor”
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
Essas foram as principais modificaçs feitas todas na classe “Program.cs”.
Ao utilizar as views, também tive problemas com a compatibilidade da versão do bootstrap visto que algumas classes css não funcionam mais na versão atual. Exemplo, a classe “panel
” que parece não ser mais compatível. Substitui pela classe “card
” porque me pareceu ter um funcionamento semelhante e deixou o visual parecido com o do aula.
Documentação: https://getbootstrap.com/docs/5.2/components/card/
Fiz algumas outras pequenas modificações para deixar o layout o mais parecido possível com o da aula. O Projeto está disponível no meu github se quiserem dar uma olhada e se precisarem de ajuda, estou sempre disponível no discord da Alura.