1º. Um objeto do tipo Promoção é criado com o nome promocaoDePascoa:
var promocaoDePascoa = new Promocao() { Descricao = "Páscoa", DataInicio = DateTime.Now, DataTermino = DateTime.Now.AddMonths(3) };
2º. São criados três produtos e adicionados à lista Produtos do objeto promocaoDePascoa:
Produto p1 = new Produto() { Nome= "Suco de Laranja", Categoria = "Bebidas", PrecoUnitario = 8.50, Unidade = "Litros" };
Produto p2 = new Produto() { Nome = "Café", Categoria = "Bebidas", PrecoUnitario = 12.45, Unidade = "Gramas" };
Produto p3 = new Produto() { Nome = "Macarrão", Categoria = "Alimentos", PrecoUnitario = 4.23, Unidade = "Gramas" };
promocaoDePascoa.Produtos.Add(new PromocaoProduto() { Produto = p1 });
promocaoDePascoa.Produtos.Add(new PromocaoProduto() { Produto = p2 });
promocaoDePascoa.Produtos.Add(new PromocaoProduto() { Produto = p3 });
3º. A promocaoDePascoa com suas propriedades já preenchidas é salva no banco de dados:
using (var contexto = new LojaContext())
{
contexto.Promocoes.Add(promocaoDePascoa);
contexto.SaveChanges();
}
Dúvidas: 1) Na 2º etapa, por quê o produto que está sendo adicionado tem que ser do tipo PromocaoProduto?
2) Em qual momento os dados são persistidos na tabela PromocaoProduto?