Definiere ich eine Beziehung zwischen zwei Entitäten auf dem abhängigen oder dem Prinzipal?

Wenn ich Entity Framework verwende, wird mir unklar, wo ich eine Beziehung zwischen zwei Entitäten definieren muss. Ich habe das Gefühl, wenn ich nach Beispielen suche, finde ich Beispiele derselben Sache aus zwei verschiedenen Perspektiven - abhängig von → Prinzipal wie auch von Prinzipal → abhängig.

Angesichts der folgenden Entitäten:

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

Wir haben hier mehrere Szenarien.Foo hat vieleBars zeigt darauf.Baz hat einen optionalen Fremdschlüssel fürBar. Baz kann existieren ohneBar spezifizierten.

Wo würde ich diese Beziehungen definieren? Womit meine ich, wenn ich eine flüssige API verwende, zu welcher Entität würden diese Beziehungen in Bezug stehen? Vielleicht, um es klarer zu machen, wenn ich fließend API undEntityTypeConfiguration Bindungsklassen, für welche Entität würden diese definiert?

Ein Beispiel dafür, warum ich verwirrt bin, ist, dass ich Antworten wie diese sehedieses Das heißt, dass ein Eins-zu-Eins in der Klasse mit dem definiert werden sollvirtual. Also in diesen Entitäten das optionale Eins-zu-Eins zwischenBaz undBar wäre, oder so ähnlich wie:

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage