Если вы пытаетесь достичь отношения 1-к-1, где существует не более одного Second
объекта, связанного с First
объектом, и где нет обратного свойства, попробуйте следующее:
class First
{
[Key]
public Guid FirstId { get; set; }
}
class Second
{
[Key]
public Guid FirstId { get; set; }
public First First { get; set; }
}
class SecondMapping : EntityTypeConfiguration<Second>
{
public SecondMapping()
{
this.HasRequired(s => s.First);
}
}
Тем не менее, вы можете использовать отдельный столбец First_id
для выполнения такого рода ассоциации, но тогда вы фактически создадите отношение 1 к N.Его можно «принудительно» сделать равным 1 к 1 через ограничение UNIQUE, но вы не сможете создать обратное свойство из-за ограничения в EF (как упомянул Ладислав):
class SecondMapping : EntityTypeConfiguration<Second>
{
public SecondMapping()
{
this.HasRequired(s => s.First).WithMany().HasForeignKey("First_id");
}
}