Entity Framework: How to avoid Discriminator column from table?
===

I have following table created using Entity Framework **Code First** approach.  

1.	How do I modify the C# code so that the unwanted Discriminator column is not created in database? Is there any attributes to achieve that?
2.	 How to make the foreign key column name as “PaymentID” instead of “Payment_ PaymentID”? Is there any attributes to achieve that?

Note: Runtime version for EntityFramework.dll is  **v4.0.30XXX**

![enter image description here][1]

**CODE**

    public abstract class PaymentComponent
    {
        public int PaymentComponentID { get; set; }
        public int MyValue { get; set; }
        public string MyType { get; set; }
        public abstract int GetEffectiveValue();
    }


    public partial class GiftCouponPayment : PaymentComponent
    {

        public override int GetEffectiveValue()
        {
            if (MyValue < 2000)
            {
                return 0;
            }
            return MyValue;
        }

    }


    public partial class ClubCardPayment : PaymentComponent
    {
        public override int GetEffectiveValue()
        {
            return MyValue;
        }
    }

    public partial class Payment
    {
        public int PaymentID { get; set; }
        public List<PaymentComponent> PaymentComponents { get; set; }
        public DateTime PayedTime { get; set; }

    }
    
  

    //System.Data.Entity.DbContext is from EntityFramework.dll
    public class NerdDinners : System.Data.Entity.DbContext
    {

        public NerdDinners(string connString): base(connString)
        { 
            
        }

        protected override void OnModelCreating(DbModelBuilder modelbuilder)
        {
            modelbuilder.Conventions.Remove<PluralizingTableNameConvention>();
        }


        public DbSet<GiftCouponPayment> GiftCouponPayments { get; set; }
        public DbSet<ClubCardPayment> ClubCardPayments { get; set; }
        public DbSet<Payment> Payments { get; set; }
        
    }



**CLIENT**

        static void Main(string[] args)
        {

            string connectionstring = "Data Source=.;Initial Catalog=NerdDinners;Integrated Security=True;Connect Timeout=30";

            using (var db = new NerdDinners(connectionstring))
            {
                
                GiftCouponPayment giftCouponPayment = new GiftCouponPayment();
                giftCouponPayment.MyValue=250;
                giftCouponPayment.MyType = "GiftCouponPayment";

                ClubCardPayment clubCardPayment = new ClubCardPayment();
                clubCardPayment.MyValue = 5000;
                clubCardPayment.MyType = "ClubCardPayment";

                        
                List<PaymentComponent> comps = new List<PaymentComponent>();
                comps.Add(giftCouponPayment);
                comps.Add(clubCardPayment);

                var payment = new Payment { PaymentComponents = comps, PayedTime=DateTime.Now };
                db.Payments.Add(payment);

                int recordsAffected = db.SaveChanges();


            }

        }


  [1]: http://i.stack.imgur.com/wD0ST.jpg