Given the following function the variable currentModel is already the modified model that I want to update and it might have some properties different from the ones in the database and this function correctly updates the modified values.
Now I want to track the changes made before the update, the problem is that the ChangeTracker is detecting all properties as modified even when only one is acctualy different from the original model.
Is there a way to use ChangeTracker while also updating the statement with EntityState.Modified (reference)?
Here is the function used:
public void SaveCustomer(Clients currentModel)
        {
            var objFromDbAct = _db.Clients.Local.FirstOrDefault(u => u.Recid == currentModel.Recid);
            if (objFromDbAct != null) { _db.Entry(objFromDbAct).State = EntityState.Detached; }
            _db.Entry(currentModel).State = EntityState.Modified;
           
            _db.ChangeTracker.DetectChanges();
            string trackChanges = _db.ChangeTracker.DebugView.LongView;
            _db.SaveChanges();            
        }
Here is the return from ChangeTracker.DebugView.LongView (I have removed some fields to simplify, but the same applies to all of them. In this case only Zip was changed.
Clients {Recid: 6391} Modified
  Recid: 6391 PK
  Additional: '' Modified
  Addr1: '12345 Somewhere' Modified
  Addr2: '' Modified
  Addr3: <null> Modified
  Zip: '000002222' Modified
  PortalUsers: <null>
