Cách One to One trong EF6

Em mới tập tành học EF nên nhờcác bác hướng dẫn

Code tượng trưng e lấy trên thế này. Có 2 Class, trong đó class StudentContact có FK StudentId . Em có tìm đọc cách làm một số chỗ thì thấy bảo là EF chỉ hỗ trợ One to one cho 2 Class đc kết nối là PK hoặc là phải làm one to many.

public class Student
{
[Key]
public long Id { get; set; }
public string Name { get; set; }
public virtual StudentContact Contact { get; set; }
}

public class StudentContact
{
[Key]
public long Id { get; set; }
public string ContactNumber { get; set; }
public long StudentId { get; set; }
public virtual Student Student { get; set; }
}

những Fluent API e thử thế này nhưng không được.

modelBuilder.Entity<Student>()
.HasOptional(p => p.StudentContact )
.WithOptionalPrincipal(c => c.Student )
.Map(c => c.MapKey("StudentId "));

modelBuilder.Entity<Student>()
.HasOptional(a => a.StudentContact )

Em muốn hỏi là mình có cách nào để làm one to one như class trên không ạ ? hay buộc phải chuyển sang những ý em đề cập trên ?
Em cảm ơn

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?