Czy definiuję relację między dwoma podmiotami zależnymi lub głównym?

Podczas korzystania z Entity Framework, mylę się co do tego, gdzie muszę zdefiniować relację między dwoma elementami. Czuję, że ilekroć szukam przykładów, znajduję przykłady tego samego z dwóch różnych perspektyw - zależnej → głównej, a także głównej → zależnej.

Biorąc pod uwagę następujące podmioty:

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

Mamy tutaj kilka scenariuszy.Foo ma wieleBars wskazując na to.Baz ma opcjonalny klucz obcy doBar. Baz może istnieć bezBar określony.

Gdzie zdefiniowałbym te relacje? Gdzie, mam na myśli, gdy używam płynnego API, który podmiot zdefiniowałby te relacje? Może żeby to było bardziej jasne, gdybym używał płynnego API iEntityTypeConfiguration klasy do wiązania, dla których by były zdefiniowane?

Przykładem tego, że jestem zdezorientowany, jest to, że widzę takie odpowiedziten które mówią, że jeden do jednego powinien być zdefiniowany w klasie za pomocąvirtual. Tak więc w tych jednostkach opcjonalny jeden do jednego międzyBaz iBar byłoby lub coś podobnego do:

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

questionAnswers(2)

yourAnswerToTheQuestion