Один к нулю или один с HasForeignKey

У меня есть две модели:

public class Person
{
    public virtual int Id { get; set; }
    public virtual Employee Employee { get; set; } // optional
}

public class Employee
{
    public virtual int Id { get; set; }
    public virtual int PersonId { get; set; }

    public virtual Person Person {get; set; } // required
}

public class EmployeeConfiguration : EntityTypeConfiguration
{
    public EmployeeConfiguration()
    {
        Property(e=>e.PersonId) // I need this property mapped
            .HasColumnName("person_id")
            .HasColumnType("int");
    }
}

Я хочу отобразить их, используя свободное отображение. Таблица сотрудников имеет столбец 'person_id» который не обнуляется. Я попробовал следующее:

HasRequired(e => e.Person)
    .WithOptional(p => p.Employee)
    .Map(m => m.MapKey("person_id"));

Но это не так с:

System.Data.Entity.ModelConfiguration.ModelValidationException: одна или несколько ошибок проверки были обнаружены во время генерации модели:

person_id: Name: каждое имя свойства в типе должно быть уникальным. Имя свойства 'person_id» уже определено.

Мне нужно свойство PersonId само по себе, так что я в основном хочу:

HasRequired(e => e.Person)
    .WithOptional(p => p.Employee)
    .HasForeignKey(e => e.PersonId); // there is no such method

Нонет такого метода здесь как HasForeignKey

Ответы на вопрос(2)

Ваш ответ на вопрос