For people who used to work on EPiServer 6, the following class diagram illustrates the major changes between them.
In EPiServer 6, all the custom page types(by default) must inherit from PageData and when you want to reference a page, you use PageReference Type declare a page reference property. However, EPiServer 7 introduced three new types (ContentData,ContentReference and BlockData) to their framework to make their API more generic.
EPiServer 7 did a great work and made these changes transparently which means you are still able to use the old API to query the data, thanks for EPiServer team save us a lot of hassle.
Query page API
var _repository = ServiceLocator.Current.GetInstance<IContentRepository>();
// pageLink can be either PageRefence or ContentReference