Boa tarde, toda vez que executamos a aplicação, a mesma está "populando" novamente a tabela de produto, ou seja, temos a duplicação de registros . Não está faltando um if no contexto.Database.EnsureCreated() ?
public void InicializaDB()
{
if (contexto.Database.EnsureCreated())
{
IList<Livro> livros = GetLivros();
produtoRepository.SaveProdutos(livros);
}
}