Как реализовать отношение один к одному в Entity Framework?
Почитайте - тут хорошо всё расписано. 
С точки зрения архитектуры БД, если есть отношение один-к-одному, то возможно есть смысл объединить данные в одну таблицу.
 У меня есть 3 сущности User, Mentor и Student. Mentor и User имеют связь один к одному, Student и User тоже имеют связь один к одному.  

Возможно у Вас не 3 сущности, а 2. User (имя, дата рождения, и тд. ) и Role (User, Mentor, Student). 

 Также и них должны быть одинаковые Id. То есть когда мы хотим добавить объект Mentor, уже должен быть объект User с таким же Id. Также и со Student. 

Бред.

ID - это синтетический ключ. Некое искусственное уникальное поле назначение которого однозначно идентифицировать строку в базе. Строить на его базе какую либо логику нельзя. 

 Я просто новичок в Entity Framework 
Проблема не в том что Вы новичок в EF, а в том что Вы новичок в проектировании БД. 

Для начала разберитесь в связях (как они реализуются, для чего используются и тд. ), а потом уже разбирайтесь с EF.