You've got three options:
1 - Table-Per Hierarchy:
Good for performance, as one physical table is required. You'll need to add a discriminator field to Person - such as "PersonType". Problem with this approach (what I have found), is you end up will lots of nullable fields, and navigational properties between derived types are difficult (in my experience).
2 - Table-Per Type:
Requires separate tables, but good for flexibility if you want to another another "Person" type.
3 - Table-Per Concrete Type: Don't have experience with this, so can't really comment on it. AFAIK it's very similar to TPT.
I'd probably go with TPT, just because it's easier IMO.
Having said that though, the field in the "Contractor" and "Employee" tables are of the same type, so you could generalize this as a single field with TPH. But i'm guessing that's not the complete model.
Steps for Model-First:
- Add those three entities to a blank EDMX.
- Mark "Person" as abstract
- Set "Contractor" and "Employee" as deriving from "Person". (Add -> Inheritance)
- Remove the ID fields from the "Employee" and "Contractor" entities (not required - it will inherit the ID from "Person").
- Generate database from model.