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

Dúvida, adicionar no contexto

Fiz da seguinte maneira:

Venda venda = new Venda() { Cliente = daoUsuario.BuscarUsuarioPorId(1) };

Produto p1 = dao.GetPorId(3); Produto p2 = dao.GetPorId(4);

ProdutoVenda pv1 = new ProdutoVenda() { Produto = p1, Venda = venda };

ProdutoVenda pv2 = new ProdutoVenda() { Produto = p2, Venda = venda };

venda.ProdutoVenda.Add(pv1); venda.ProdutoVenda.Add(pv2);

contexto.Vendas.Add(venda); contexto.SaveChanges();

Minha dúvida é se adicionando o ProdutoVenda no objeto venda, e somente venda no contexto, perco em performance ou não é uma boa prática, obrigado.

2 respostas
solução!

Bom dia, Luiz!

À primeira vista o seu código tem o mesmo resultado do que o sugerido pelo instrutor.

Para tirar essa dúvida, você pode fazer o log das queries e comandos SQL emitidos pelo Entity Framework. Pra isso, coloque a seguinte linha no início do seu código de gravação de vendas:

contexto.Database.Log = Console.Write;

Você pode fazer o mesmo procedimento com o resultado sugerido pelo instrutor. Assim, você poderá ver quais queries SQL e comandos estão sendo gerados no servidor, e dependendo do resultado, será possível ver qual é o mais otimizado, pois o log também mostrará os tempos de execução no seu console.

Marcelo

Obrigado Marcelo.