database normalisation on object that is attached to another object that can change
Since Make and Model is a hierarchical relationship they can exist in the same table. 

You'll need a junction table to handle the many to many relationship between machine, equipment, and sub-location. 

Your junction table will need to contain four columns; [SLID], [MID], [EID], [datetimestamp].  

You can handle tasks in several ways - if one task always follows one piece of equipment then the link between Task and Equipment is fine, however, if the same task can use multiple pieces of equipment on multiple machines then you would want include a task id [TID] field in your junction table. 

The junction table will grow quite large so you might want to partition it by month and year, and also experiment with the indexes to make sure that they cover the reporting requirements. 

Also, since you're using an ORM I'm going to make an assumption that the idea of using GUIDs as IDs has come up, or will at some point - don't create a clustered index (primary key) on a guid column, if you must use a guid to make it easier for the application to do its thing, then do create an integer id column as your primary keys.

Example ERD - This is what I might start with given the requirements, and modify it from there as needed.