Определить ли отношения между двумя объектами на зависимом или основном субъекте?

Когда я использую Entity Framework, я не понимаю, где мне нужно определить отношения между двумя объектами. Я чувствую, что всякий раз, когда я ищу примеры, я в конечном итоге нахожу примеры одного и того же с двух разных точек зрения - зависимой → главной, а также главной → зависимой.

Даны следующие лица:

class Foo
{
    public int Id { get; set; }
    public virtual ICollection<Bar> Bars { get; set; }
}

class Bar
{
    public int Id { get; set; }
    public Foo Foo { get; set; }
    public virtual Baz { get; set; }
}

class Baz
{
    public int Id { get; set; }
    public Bar Bar { get; set; }
}

У нас есть несколько сценариев здесь.Foo имеет многоBarуказывает на это.Baz имеет дополнительный внешний ключ дляBar. Baz может существовать безBar указано.

Где бы я определил эти отношения? Где, когда я использую свободный API, я имею в виду, к какому объекту будут относиться эти отношения? Может быть, чтобы сделать это более понятным, если бы я использовал свободный API иEntityTypeConfiguration классы для привязки, для какого объекта они будут определены?

Пример того, почему я запутался, потому что я вижу ответы вродеэтот которые говорят, что один-к-одному должен быть определен в классе сvirtual, Таким образом, в этих объектах необязательный один к одному междуBaz а такжеBar будет или что-то похожее на:

modelBuilder.Entity<bar>()
            .HasOptional(f => f.Baz)
            .WithRequired(s => s.Bar);

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

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