title: Rolling back an EF Core migration does not exactly restore the model snapshot
body: <p>I am playing around with EF Core 6.0.0-rc.2.21480.5.</p>
  <p>I added an empty migration, just ran the command <code>Add-Migration ShouldBeEmpty</code> without any change to the model.</p>
  <p>Checking with such empty migrations is necessary to ensure migrations pulled from other developers work are merged correctly.</p>
  <p>As expected the up steps and down steps are empty.</p>
  <pre><code>public partial class ShouldBeEmpty : Migration
  {
      protected override void Up(MigrationBuilder migrationBuilder)
      { }
  
      protected override void Down(MigrationBuilder migrationBuilder)
      { }
  }
  </code></pre>
  <p>Also the Model Snapshot file has not changed.</p>
  <p>Now I revert back with the remove migration command <code>Remove-Migration</code>. The newly created file ShouldBeEmpty is removed as a part of rolling back as expected. But as I notice the Model Snapshot file, its checked out, and when I take a diff, I see this.</p>
  <p><a href="https://i.stack.imgur.com/SZnn0.png" rel="noreferrer"><img src="https://i.stack.imgur.com/SZnn0.png" alt="Ef Core empty Migration Roll back issue" /></a></p>
  <p>Note the following.</p>
  <pre><code>b.ToTable(&quot;Sita&quot;, (string)null);
  </code></pre>
  <p>So its not exactly identical as I roll that back. (string)null is being passed additionally to the ToTable method call. It does not seem to pose any problem but just want to know am I missing something here?</p>
  <p>I noticed my csproj file that nullable is enabled. I disabled that and tried, but this did not make any difference.</p>
  <pre><code>  &lt;PropertyGroup&gt;
      &lt;TargetFramework&gt;net6.0&lt;/TargetFramework&gt;
      &lt;Nullable&gt;enable&lt;/Nullable&gt;
      &lt;ImplicitUsings&gt;enable&lt;/ImplicitUsings&gt;
    &lt;/PropertyGroup&gt;
  </code></pre>