Each context instance has a
ChangeTracker that is responsible for keeping track of changes that need to be written to the database. As you make changes to instances of your entity classes, these changes are recorded in the
ChangeTracker and then written to the database when you call
SaveChanges. The database provider is responsible for translating the changes into database-specific operations (for example,
DELETE commands for a relational database).