Eu defino um relacionamento entre duas entidades no dependente ou no principal?

Ao usar o Entity Framework, fico confuso quanto ao local onde preciso definir um relacionamento entre duas entidades. Eu sinto que sempre que procuro exemplos, acabo encontrando exemplos da mesma coisa de duas perspectivas diferentes - dependente → principal, bem como principal → dependente.

Dadas as seguintes entidades:

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; }
}

Nós temos vários cenários aqui.Foo tem muitosBars apontando para ele.Baz tem uma chave estrangeira opcional paraBar. Baz pode existir semBar Especificadas.

Onde eu definiria essas relações? Por onde, eu quero dizer quando usando API fluente, qual entidade essas relações seriam definidas em relação a? Talvez para deixar mais claro, se eu estivesse usando API eEntityTypeConfiguration classes para ligação, para qual entidade estas seriam definidas em?

Um exemplo de por que estou confuso é porque vejo respostas comoeste que dizem que um um-para-um deve ser definido na classe com ovirtual. Portanto, nessas entidades, o opcional one-to-one entreBaz eBar seria, ou algo semelhante a:

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

questionAnswers(2)

yourAnswerToTheQuestion