title: Missing id columns for derived types with TPH strategy after migrating to EFCore 2.2
body: <p>I migrated my application from EF6 to EFCore 2.2 and I have a problem with mapping abstract type with derived types into one table. TPH inheritance strategy.</p>
  
  <pre><code>public abstract class GoalExpectation : Entity { ... }
  public class AtLeastGoalExpectation : GoalExpectation { ... }
  public class AtMostGoalExpectation : GoalExpectation { ... }
  </code></pre>
  
  <p>Mapping and db context are defined in such way</p>
  
  <pre><code>public class MyDbContext : Microsoft.EntityFrameworkCore.DbContext
  {
      public DbSet&lt;GoalExpectation&gt; GoalExpectations { get; set; }
  
      protected override void OnModelCreating(ModelBuilder modelBuilder)
      {
           // to avoid declare DbSets for derived types (accoring to docs)
           modelBuilder.Entity&lt;AtLeastGoalExpectation&gt;();
           modelBuilder.Entity&lt;AtMostGoalExpectation&gt;();
  
           modelBuilder.ApplyConfiguration(new GoalExpectationTypeConfig());
      }
  }
  
  public class GoalExpectationTypeConfig : IEntityTypeConfiguration&lt;GoalExpectation&gt;
  {
      public void Configure(EntityTypeBuilder&lt;GoalExpectation&gt; builder)
      {
          builder.ToTable("GoalExpectations");
  
          builder.HasDiscriminator&lt;string&gt;("Discriminator")
              .HasValue&lt;AtLeastGoalExpectation&gt;("AtLeastGoalExpectation")
              .HasValue&lt;AtMostGoalExpectation&gt;("AtMostGoalExpectation")
       }
  }
  </code></pre>
  
  <p>I get the following error while executing this query</p>
  
  <pre><code>    public List&lt;Goal&gt; GetGoalsWithTimeLimit(long userId, DateTime date)
      {
          var queryable = _dbContext.Goals
              .Include(p =&gt; p.ProgressItems)
              .Where(p =&gt; p.Owner.Id == userId)
              .Where(p =&gt; p.FinishDate.HasValue || p.ProgressFrequency != null);
  
          return queryable.ToList();
      }
  </code></pre>
  
  <blockquote>
    <p>System.Data.SqlClient.SqlException: 'Invalid column name 'AtLeastId'.
    Invalid column name 'AtMostId'.</p>
  </blockquote>