Em vez de fazer isso:
ProdutoVenda pv = new ProdutoVenda()
{
Venda = v,
Produto = p
};
ProdutoVenda pv2 = new ProdutoVenda()
{
Venda = v,
Produto = p2
};
contexto.Vendas.Add(v);
contexto.ProdutoVenda.Add(pv);
contexto.ProdutoVenda.Add(pv2);
Seria possível fazer algo do tipo:
public class Venda {
\\...
public virtual ICollection<Produto> Produtos {get;set;}
\\...
}
\\ ...
var produto1 = ProdutoDao.BuscaProdutoPorId(1);
var produto2 = ProdutoDao.BuscaProdutoPorId(2);
var venda = new Venda();
venda.Produtos.Add(produto1);
venda.Produtos.Add(produto2);
\\ ...
É que fica parecendo que não é um mapeamento Objeto - Relacional e sim Relacional - Relacional