Boa tarde.
Eu segui passo a passo as lições e ao rodar o programa, ele apresenta uma exceção sem tratamento, apontando exatamente para o Método SaveProduto, apontando a excessão para a condição IF desse método.:
public void SaveProdutos(List<Livro> livros)
{
foreach (var livro in livros)
{
if (!dbSets.Where(p => p.Codigo == livro.Codigo).Any())
{
dbSets.Add(new Produto(livro.Codigo, livro.Nome, livro.Preco));
}
}
contexto.SaveChanges();
}
No Chrome, é exibido o seguinte erro:
System.Linq.Queryable.Where<TSource>(IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate)
ArgumentNullException: Value cannot be null. Parameter name: source
System.Linq.Queryable.Where<TSource>(IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate)
CasaDoCodigo.Repositories.ProdutoRepository.SaveProdutos(List<Livro> livros) in ProdutoRepository.cs
+
if (!dbSets.Where(p => p.Codigo == livro.Codigo).Any())
CasaDoCodigo.Startup+DataService.InicializaDB() in DataService.cs
-
public void InicializaDB()
{
contexto.Database.EnsureCreated();
System.Linq.Queryable.Where<TSource>(IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate)
ArgumentNullException: Value cannot be null. Parameter name: source
System.Linq.Queryable.Where<TSource>(IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate)
CasaDoCodigo.Repositories.ProdutoRepository.SaveProdutos(List<Livro> livros) in ProdutoRepository.cs
+
}
public void SaveProdutos(List<Livro> livros)
{
foreach (var livro in livros)
{
if (!dbSets.Where(p => p.Codigo == livro.Codigo).Any())
{
dbSets.Add(new Produto(livro.Codigo, livro.Nome, livro.Preco));
}
}
contexto.SaveChanges();
}
CasaDoCodigo.Startup+DataService.InicializaDB() in DataService.cs
+
public void InicializaDB()
{
contexto.Database.EnsureCreated();
List<Livro> livros = GetLivros();
produtoRepository.SaveProdutos(livros);
}
private static List<Livro> GetLivros()
{
CasaDoCodigo.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider) in Startup.cs
+
{
routes.MapRoute(
name: "default",
template: "{controller=Pedido}/{action=Carrossel}/{id?}");
});
serviceProvider.GetService<IDataService>().InicializaDB();
}
}
}
}
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
Alguem poderia me dar uma luz do que poderia estar acontecendo?