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

A circular dependency was detected for the service of type 'CasaDoCodigo.Repositories.IProdutoRepository'.

using CasaDoCodigo.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using static CasaDoCodigo.Startup;

namespace CasaDoCodigo.Repositories
{
    public class ProdutoRepository : IProdutoRepository
    {
        private readonly ApplicationContext contexto;
        private readonly IProdutoRepository produtoRepository;

        public ProdutoRepository(ApplicationContext contexto, IProdutoRepository  produtoRepository)
        {
            this.contexto = contexto;
            this.produtoRepository = produtoRepository;
        }

        public void SaveProdutos(List<Livro> livros)
        {
            foreach (var livro in livros)
            {
                contexto.Set<Produto>().Add(new Produto(livro.Codigo, livro.Nome, livro.Preco));

            }
            contexto.SaveChanges();
        }
    }
}

using System.Collections.Generic;
using static CasaDoCodigo.Startup;

namespace CasaDoCodigo.Repositories
{
    public interface IProdutoRepository
    {
        void SaveProdutos(List<Livro> livros);
    }
}
3 respostas

isso significa que IProdutoRepository tem uma dependência em um tipo que depende diretamente ou tem uma dependência que depende do IProdutoRepository .ie: A => B, B => C, C => A

Tá meio que fazendo um loop de dependências.

Verifiquei tanto o projeto do grupo 3 , porém esta idêntico as classes, sendo somente erros de referência. Más, até o momento não foi solucionado.

solução!

Oi Rafael

A classe ProdutoRepository não precisa de um parâmetro IProdutoRepository. Remova esse parâmetro do construtor, conforme abaixo, e tente novamente:

        public ProdutoRepository(ApplicationContext contexto)
        {
            this.contexto = contexto;
        }