Determine objects to delete from a database
There is an easier way to find the cars to delete. You just need to use the Except extension.

var carsToDelete = existingCars.Except(newCars);


In order for this to work you have two choices:


you can either implement the IEquatable for each DTO or
you can implement a common interface for the Id and a custom IEqualityComparer&lt;IYourInterface&gt; and use it with the Except extension.