Cargar Entidades Relacionadas Implícita y Explícita Entity Framework Code First c#

Tengo una entidad Zona con estas propiedades:
Code Snippet
  1. public int Id { get; set; }
  2.         public string Nombre { get; set; }
  3.         public bool IsZonaAlejada { get; set; }
  4.         public int LocalidadId { get; set; }
  5.         public Localidad Localidad { get; set; }
  6.         public List<Hotel> Hoteles { get; set; }
  Hay varias formas de cargar as entidades relacionadas Localidad y Hoteles: 1.- Se puede hacer de forma Implícita “incluyendo” las entidades relacionadas cuando se realiza la consulta en el contexto (DbContex –> db):
Code Snippet
  1. public static IQueryable<Zona> GetZonas(Db.DiscoverFormenteraDb db)
  2. {
  3.     return db.Zonas.Include(z => z.Localidad).Include(z => z.Hoteles);
  4. }
  2.- Se puede hacer de forma Explícita como en el siguiente ejemplo  
Code Snippet
  1. public void LoadHoteles(Db.DiscoverFormenteraDb db)
  2.         {
  3.             db.Entry(this).Collection(la => la.Hoteles).Query().Where();
  4.             db.Entry(this).Collection(la => la.Hoteles).Load();
  5.             db.Entry(this).Reference(la => la.Localidad).Load();
  6.         }
- Collection: Se utiliza para cargar una colección. Utilizando Query() se pueden realizar filtros sobre la colección. - Reference: Se utiliza para cargar un objeto.
<