2017-11-03 6 views
2

Ich fand diese Einheiten in einem der Microsoft-Anleitungen:Soll ich zusätzlich zur entsprechenden `Navigationseigenschaft` die Eigenschaft 'Fremdschlüssel-ID` definieren?

public class Enrollment 
{ 
    public int Id{ get; set; } 

    public int StudentId { get; set; } 
    public Student Student { get; set; } 
} 

public class Student 
{ 
    public int Id { get; set; } 

    public ICollection<Enrollment> Enrollments { get; set; } 
} 

Muss ich StudentId Eigenschaft definieren müssen wirklich?

Wie unterscheidet sich der Fall bei verschiedenen Arten von Beziehungen? zum Beispiel one-one und one-many?

UPDATE:

In diesem Link http://www.learnentityframeworkcore.com/relationships wir, dass in One-viele und viele-viele sehen können, haben sie die Id Fremdschlüsseleigenschaft nicht definieren, aber in Eins-Eins, sie taten. Warum das?

+0

Es hängt von der Beziehung ab, die Sie modellieren möchten. Die StudentId ist die FK für die Registrierung, die einem Studenten entspricht. Wenn du sagst, es hat funktioniert - was hat funktioniert? Hat die Beziehung in beide Richtungen funktioniert? Gibt es auch eine Kurstabelle und Anmeldung ist die Relationstabelle für den Kurs? – Jasen

+0

@Jasen Ich habe die Frage ein wenig bearbeitet, könntest du das für die beiden erwähnten Beziehungen erklären? Ich bin ein bisschen verwirrt darüber. Ok ja es gab Kurse Beziehung, aber ich denke es ist egal in meiner Frage richtig? Ich habe es gelöscht, um alles einfach zu halten. –

+0

Ich denke ja, weil EF Core diese Spalte nach ef Core Namenskonvention –

Antwort

1

fand ich eine Teilantwort für meine Frage auf dieser Seite:

http://www.learnentityframeworkcore.com/conventions

Foreign Key Schatten Eigenschaften:
Wenn Sie nicht explizit wählen, gehört eine Fremdschlüsseleigenschaft in dem abhängigen Ende In der Beziehung erstellt EF Core eine Schatteneigenschaft mit der Muster-ID.

Aber ich weiß immer noch nicht, ob dies in allen Arten von Beziehungen der Fall ist.

Ich hoffe, dass jemand hilft.

UPDATE

Ok jetzt fand ich genau das, was ich wissen und verstehen wollte, bitte einen Blick auf diese Links übernehmen, die die Differenz Konventionen der Erstellung der Modelle (Entitäten) schließen ein:

http://www.learnentityframeworkcore.com/conventions/one-to-many-relationship

http://www.learnentityframeworkcore.com/conventions/one-to-one-relationship

Verwandte Themen