6
respostas

Erro na execução

Boa tarde fiz exatamente o que o professor fez, mas mesmo continua dando esse erro aqui:

Exceção Sem Tratamento: System.MissingMethodException: Método não encontrado: 'System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)'.
   em Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.<>c__DisplayClass4_1.<GetOrAdd>b__2(Int64 k)
   em System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   em Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd(IDbContextOptions options)
   em Microsoft.EntityFrameworkCore.DbContext.GetServiceProvider(DbContextOptions options)
   em Microsoft.EntityFrameworkCore.DbContext..ctor(DbContextOptions options)
   em Microsoft.EntityFrameworkCore.DbContext..ctor()
   em Alura.Loja.Testes.ConsoleApp.LojaContext..ctor()
   em Alura.Loja.Testes.ConsoleApp.Program.Main(String[] args) na C:\Users\jacso\Downloads\Alura.Loja\Alura.Loja\Alura.Loja.Testes.ConsoleApp\Program.cs:linha 20
Pressione qualquer tecla para continuar. . .

Poderiam me ajudar? Já estou a dias tentando resolver esse problema e não estou conseguindo

Programa cs logo abaixo

using Microsoft.EntityFrameworkCore.ChangeTracking;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.Remoting.Contexts;
using System.Text;
using System.Threading.Tasks;

namespace Alura.Loja.Testes.ConsoleApp
{
    public class Program
    {
        static void Main(string[] args)
        {

            using (var contexto = new LojaContext())
            {
                var serviceProvider = contexto.GetInfrastructure<IServiceProvider>();
                var loggerFactory = serviceProvider.GetService<ILoggerFactory>();
                loggerFactory.AddProvider(SqlLoggerProvider.Create());

                var produtos = contexto.Produtos.ToList();

                ExibeEntries(contexto.ChangeTracker.Entries());

                var novoProduto = new Produto
                {
                    Nome = "Desinfetante",
                    Categoria = "Limpeza",
                    Preco = 2.99
                };
                contexto.Produtos.Add(novoProduto);

                ExibeEntries(contexto.ChangeTracker.Entries());

                contexto.SaveChanges();
                ExibeEntries(contexto.ChangeTracker.Entries());
            }
        }

        private static void ExibeEntries(IEnumerable<EntityEntry> entries)
        {
            Console.WriteLine("===================");
            foreach (var e in entries)
            {
                Console.WriteLine(e.Entity.ToString() + " - " + e.State);
            }
        }



    }
}
6 respostas

Bom dia Samuel, tudo bom?

Você pode postar o código da sua classe LojaContext ?

Att.

Boa tarde posto sim

LojaContext.cs logo abaixo

using Microsoft.EntityFrameworkCore;
using System;

namespace Alura.Loja.Testes.ConsoleApp
{
    public class LojaContext : DbContext
    {
        public DbSet<Produto> Produtos { get; set; }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=LojaDB;Trusted_Connection=true;");
        }
    }
}

Samuel, boa tarde.

Me passa também o github do seu projeto, para eu compilar aqui?

Boa tarde peço desculpas antecipadamente, quis aproveitar bastante o final de semana, que acabei esquecendo de checar o fórum.

Segue o link do projeto logo abaixo:

https://github.com/Samuca2003/Banco-de-Dados/tree/main

Samuel, bom dia camarada!

O repositório deve estar privado !

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Boa tarde André vdd acabei de alterar aqui

link do projeto:

https://github.com/Samuca2003/Banco-de-Dados

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software