title: Entity Framework Core Inheritance creating child tables
body: <pre><code>public class Product
  {
      public string Name { get; set; }
      public int Qty { get; set; }
      public decimal Price { get; set; }``
  }
  public class CartItem : Product
  {
      public int CartItemId { get; set; }
  
      public string CartId { get; set; }
  }
  public class OrderLine : Product
  {
      public int OrderLineId { get; set; }
  
      public int OrderId { get; set; }
  }
  
  public class Kititem : Product
  {
      public int KititemId { get; set; }
  
      public int OrderId { get; set; }
  }
  
  public class SampleContext : DbContext
  {
      public DbSet&lt;CartItem&gt; CartItems { get; set; }
      public DbSet&lt;OrderLine&gt; OrderLines { get; set; }
      public DbSet&lt;Kititem&gt; Kititems { get; set; }
  }
  </code></pre>
  
  <p>As you can see in this I am not including the parent class Product in the DbContext, and when doing the migrations it creates a table for each derived class with all the properties form the parent class, and it does not create the parent class because is not included in the Dbcontext, for me it was what I was exptecting and is working, and I am happy with it so far
  Mi question is if that is a bad practice and maybe I am not using ef core Inheritance the way I can take all the advantages ?
  I am confuse and want to start a new project and do it the best way, so I don't have to redo it again</p>