How could I go about implementing the code that when a Person is initialized, the PersonWebsites List will automatically be initialised and get all the PersonWebsite objects that have the same PersonId as the class that calls it.

Answers

Lazy Loading:

You can make PersonWebsites property virtual:

public virtual ICollection<PersonWebsite> PersonWebsites{ get; set; }

Entity framework will load it from the database as soon as it's required.
Also this method requires you to have lazy loading enabled which is by default:

DbContext.ContextOptions.LazyLoadingEnabled = true;

Eager Loading:

You can use include to force entity framework to load PersonWebsites on the first query:

DbSet.Include(p => p.PersonWebsites);

You may also want to change your PersonWebsite class like this, in order to navigate to the person from the PersonWebsite object (using Lazy-Loading):