Ни одно из свойств навигации не требуется.
Все, что вам нужно для настройки отношения, - это правильная пара Has{One|Many}
+ With{One|Many}
. Под правильным я имею в виду следующее - если соответствующий конец отношения имеет навигацию, он должен быть передан в качестве аргумента, в противном случае не следует передавать лямбда-выражение / имя свойства).
т.е. в вашем случае вы можете использовать либо
modelBuilder.Entity<Entity2>()
.HasOne(e2 => e2.RelatedEntity)
.WithMany() // no navigation property
или
modelBuilder.Entity<Entity1>()
.WithMany<Entity2>() // no navigation property
.HasOne(e2 => e2.RelatedEntity)
Они эквивалентны, используют одно или другое, ни то и другое (чтобы избежать противоречивых конфигураций / расхождений - в конце концов, взаимосвязь только одна, даже если есть два конца).
Как только вы это сделаете, у вас будет доступ к API отношений для настройки FK, каскадного удаления и т. д. c. Например,
.OnDelete(DeleteBehavior.Cascade)
Вы также можете сделать Требуется FK (который по умолчанию включает каскадное удаление):
.IsRequired()
Для получения дополнительной информации см. Раздел Отношения документации EF Core, в частности Ручная настройка и Одно свойство навигации .