My "ShoppingCart" and "ShoppingCartItems" tables are already in my database. I am trying to add a new table called "discountCodes". Each shoppingCart can have one or zero discountCodes.
The error I am receiving is: Invalid column name 'discountId'.
[Table("ShoppingCarts")]
    public class ShoppingCart
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        [Column("cartID")]
        public string cartID { get; set; }
        public virtual IList<ShoppingCartItem> CartItems { get; set; }
        [Column("dateCreated")]
        public DateTime? DateCreated { get; set; }
        [Column("userID")]
        public Guid UserID { get; set; }
        public int? discountId { get; set; }
        public virtual Discount discount { get; set; }
    }
    [Table("discountCodes")]
    public class Discount
    {
        public int discountId { get; set; }
        public string discountCode{get;set;}
        [Required]
        public int percentOff { get; set; }
        [Required]
        public Boolean isActive { get; set; }
        public  ShoppingCart ShoppingCart { get; set; }
    }
public class ShoppingCartContext : DbContext
{
    public ShoppingCartContext()
        : base("MYDBConnectionString")
    {
        Database.SetInitializer<ShoppingCartContext>(new CreateDatabaseIfNotExists<ShoppingCartContext>());
    }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<ShoppingCart>().HasKey(t => t.cartID)
                     .HasOptional(t => t.discount)
                     .WithOptionalPrincipal(d => d.ShoppingCart)
                     .Map(t => t.MapKey("cartID")); 
        modelBuilder.Entity<Discount>().HasKey(t => t.discountId)
                    .HasOptional(q => q.ShoppingCart);
    }   
    public DbSet<Discount> discountCodes { get; set; }
    public DbSet<ShoppingCart> ShoppingCart { get; set; }
    public DbSet<ShoppingCartItem> ShoppingCartItems { get; set; }
}