Olá Eduardo, como vai?
Esse Produtos, vem da classe Promocao. Talvez você tenha nomeado a propriedade com um nome diferente. A classe Promocao deve estar assim:
 public class Promocao
    {
        public int Id { get; set; }
        public string Descricao { get; internal set; }
        public DateTime DataInicio { get; internal set; }
        public DateTime DataTermino { get; internal set; }
        public IList<PromocaoProduto> Produtos { get; set; } //Nesta linha do código está o problema 
        public Promocao()
        {
            this.Produtos = new List<PromocaoProduto>();
        }
        public void IncluiProduto(Produto produto)
        {
            this.Produtos.Add(new PromocaoProduto() { Produto = produto });
        }
    }
Se puder compartilhar a sua classe Promocao, conseguimos te auxiliar melhor.
Aguardo retorno.
Abraços