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

Listando os produtos de uma venda

Estou tentando fazer esse exercícios usando lista, só que está dando erro na linha que exibe no console.

PS: Se no lugar eu colocar p.ID, ele me retorna 1.

List vendas = contexto.Vendas.Include(v => v.VendaProduto)

.ThenInclude(pv => pv.Produtos)

.ToList();

foreach (var p in vendas)

{ Console.WriteLine(p.VendaProduto.Produtos.Nome); }

contexto.Dispose(); Console.ReadLine();

Erro exibido: Error CS1061 'List' does not contain a definition for 'Produtos' and no extension method 'Produtos' accepting a first argument of type 'List' could be found (are you missing a using directive or an assembly reference?) LojaComEntity C:\Users\Denise\documents\visual studio 2015\Projects\LojaComEntity\LojaComEntity\Program.cs 29 Active

2 respostas

Denise,

Não sei se entendi muito bem o seu problema, mas ali na linha

Console.WriteLine(p.VendaProduto.Produtos.Nome);

o objeto 'Produtos' não é uma lista?

Nesse caso uma lista não tem a propriedade 'Nome'. Você teria que fazer um for em p.VendaProduto.Produtos

Se você puder postar todo o código nos ajuda a tentar encontrar o problema.

Abraço.

solução!

Oi Silvio, Segui a sua dica e deu certo :) .... Muito obrigada Meu código ficou assim: EntidadesContext contexto = new EntidadesContext(); List filtro = contexto.Vendas .Include(v => v.Cliente).ToList();

foreach (var x in filtro) {

for (int i = 0; i < filtro.Count(); i++)

{ List prod = contexto.VendaProduto

.Include(vd => vd.Produtos)

.Where(vd => vd.VendasID == x.ID)

.ToList();

foreach(var y in prod) {

Console.WriteLine("{0} - {1}", x.Cliente.Nome, y.Produtos.Nome); } } }

Console.ReadLine();