title: Changes are not tracked when using projections in Entity Framework Core 3.1
body: <p>With projections (0 changes):</p>
  
  <pre><code>var changesBefore = Db.ChangeTracker.Entries&lt;OrderLocationEntity&gt;().ToList(); //before change - 0
  
  var orderLocation = Db.OrderLocation.AsTracking().Select(ol =&gt; new OrderLocationEntity
  {
      Id = ol.Id,
      Address = ol.Address,
      City = ol.City,
      Created = ol.Created,
      OrderId = ol.OrderId,
      Zip = ol.Zip
  }).First();
  
  orderLocation.Address = "address";
  
  var changesAfter = Db.ChangeTracker.Entries&lt;OrderLocationEntity&gt;().ToList(); //after change - 0
  </code></pre>
  
  <p>Without projections (1 changes)</p>
  
  <pre><code>var changesBefore = Db.ChangeTracker.Entries&lt;OrderLocationEntity&gt;().ToList(); //before change - 0
  
  var orderLocation = Db.OrderLocation.AsTracking().First();
  
  orderLocation.Address = "address";
  
  var changesAfter = Db.ChangeTracker.Entries&lt;OrderLocationEntity&gt;().ToList(); //after change - 1
  </code></pre>
  
  <p><strong>Setup</strong></p>
  
  <p>Microsoft.EntityFrameworkCore 3.1.1</p>
  
  <p>Microsoft.EntityFrameworkCore.Sqlite 3.1.1</p>
  
  <pre><code>var options = new DbContextOptionsBuilder&lt;OrderDatabaseContext&gt;()
                  .UseSqlite("DataSource=:memory:")
                  .Options;
  </code></pre>
  
  <blockquote>
    <p>If the result set contains entity types coming out from LINQ composition, EF Core will track them.</p>
  </blockquote>
  
  <p><strong>Source</strong></p>
  
  <p><a href="https://docs.microsoft.com/en-us/ef/core/querying/tracking" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/ef/core/querying/tracking</a></p>
  
  <p><strong>Why are changes not being tracked when using projections?</strong></p>