Solution would be adding a list of identities synced. Workflow would be: 1. On each batch, run .Distinct() 2. Make the batch only models where the identity is not in the list of seen identities 3. Sync 4. Add the identities seen to the list