DbSet<T> represents the collection of all entities of one type, and it usually maps to one table. You declare one per entity type on your DbContext, and it is the starting point for queries and changes.
A LINQ query over a DbSet is translated to SQL and runs when you enumerate it. Add, Update and Remove do not touch the database. They set the entity's state in the change tracker, and SaveChanges writes it. The Local property returns the entities the context already tracks, without a new query.
// Querying
var products = context.Products.Where(p => p.Price > 100).ToList();
// Adding
context.Products.Add(new Product { Name = "New Product" });
// Removing
context.Products.Remove(product);
// Local entities
var localProducts = context.Products.Local.ToList();
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.