title: Issue When move to Fluent API, from Data annotations
body: <p>We are moving our asp .net core project. in clean architecture</p>
  <p>In our old project we used Data Annotations to configure.</p>
  <p>Now we use Fluent API,</p>
  <p>I have a model</p>
  <p><strong>This is a configuration we used in our old project</strong></p>
  <p>DbContext.cs</p>
  <p><code>public DbSet&lt;X&gt; Xs { get; set; }</code></p>
  <p>X.cs</p>
  <pre><code>public class X     // This is a table
      {
          [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
          public int Id { get; private set; }
  
          [Column(TypeName = &quot;jsonb&quot;)]
          public List&lt;Section&gt; Sections { get; set; }   // not a table
   }
  </code></pre>
  <p>Section.cs   // not a table</p>
  <pre><code>public class Section
      {
         // does not have a Id (key)
  
          [Column(TypeName = &quot;jsonb&quot;)]
          public List&lt;PointsOfInterest&gt; PointsOfInterests { get; set; }   // not a table
      }
  </code></pre>
  <p>PointsOfInterest.cs   // not a table</p>
  <pre><code>public class PointsOfInterest
      {
         // does not have a Id (key)
  
          public int Likes { get; set; }
      }
  </code></pre>
  <p><strong>And,Now I try to move Fluent API obove models.</strong></p>
  <p>I have added a <code>Xconfiguration.cs</code> class.</p>
  <p>DbContext.cs</p>
  <p><code>public DbSet&lt;X&gt; Xs { get; set; }</code></p>
  <p>Xconfiguration.cs</p>
  <pre><code>public class XConfiguration : IEntityTypeConfiguration&lt;X&gt;
  {
  public void Configure(EntityTypeBuilder&lt;X&gt; builder)
      {
          builder.HasKey(i =&gt; i.Id);
          
          builder.Property(i =&gt;i.Sections)
                  .HasColumnType(&quot;jsonb&quot;);
      }
  
  public class SectionConfiguration : IEntityTypeConfiguration&lt;Section&gt;
  {
      public void Configure(EntityTypeBuilder&lt;Section&gt; builder)
      {
          builder.HasNoKey();     // If I remove this line I got error while debugging. System.InvalidOperationException: The entity type 'Section' requires a primary key to be defined. If you intended to use a keyless entity type, call 'HasNoKey' in 'OnModelCreating'. For more information on keyless entity types, see https://go.microsoft.com/fwlink/?linkid=2141943.
          
          builder.Property(i =&gt;i.PointsOfInterests)
                  .HasColumnType(&quot;jsonb&quot;);
  
      }
  }
  
  </code></pre>
  <p><strong>The issue is when create a new migration, A Table named as Sections is created. I did not add public DbSet Xs { get; set; } into DbContext. Then Why Section Table is created?</strong></p>
  <pre><code>migrationBuilder.CreateTable(
                  name: &quot;Section&quot;,
                  columns: table =&gt; new
                  {
                      // removed
                  },
                  constraints: table =&gt;
                  {
                  });
  </code></pre>
  <p>What is the mistake in my configurations? Why Section Table is created. Please someone help me to find the mistakes.
  Thanks</p>