We're using EF 6 on our projects, which allowed us to make all calls async. Also, we're using both Table-Per-Type (TPT) and a Table-Per-Hierarchy (TPH) within the datamodel for one of the applications.
In order to get the TPH going in Entity Framework, you need to make use of filtering in de model. It works like a charm and is very powerful. It's perfectly explained here:
And also in this pluralsight course: http://pluralsight.com/training/Courses/TableOfContents/ef-customization