Ho trovato queste entità in uno dei tutorial di Microsoft:
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; }
}
Devo davvero definire la proprietà StudentId
?
In che modo il caso differirà in caso di diversi tipi di relazioni? per esempio one-one
e one-many
?
In questo link http://www.learnentityframeworkcore.com/relationships possiamo vedere che in One-Many e Many-Many non hanno definito la proprietà della chiave esterna Id, ma in One-One lo hanno fatto. Perché?
Ho trovato una risposta parziale alla mia domanda in questa pagina:
http://www.learnentityframeworkcore.com/conventions
Proprietà ombra chiave esterna:
Se si sceglie di non includere esplicitamente una proprietà di chiave esterna nell'estremità dipendente della relazione, EF Core creerà una proprietà shadow utilizzando l'ID modello.
Ma non so ancora se questo è il caso in tutti i tipi di relazioni.
Spero che questo aiuti qualcuno.
Ok ora ho trovato esattamente quello che volevo sapere e capire, per favore dai un'occhiata a questi link che includono le convenzioni sulle differenze nella creazione dei Modelli (entità):
http://www.learnentityframeworkcore.com/conventions/one-to-many-relationship
http://www.learnentityframeworkcore.com/conventions/one-to-one-relationship