Non è sempre necessario utilizzare la fluent per configurare le relazioni, solo quelle più complesse, se si seguono le regole di EF le relazioni vengono da se in base a come è scritto il modello, ci vogliono le proprietà foreign-key (normalissime proprietà che devono seguire una naming convention) e le proprietà di navigazione (semplici proprietà che hanno come base tipo una classe o lista di classe).
Convenzioni: http://msdn.microsoft.com/it-it/data/jj679962
Questa una tipica relazione parent-child senza dovere configurare niente di particolare, ne con fluent interface, ne con data annotation:
ùpublic class Department
{
// Primary key
public int DepartmentID { get; set; }
public string Name { get; set; }
// Navigation property
public virtual ICollection<Course> Courses { get; set; }
}
public class Course
{
// Primary key
public int CourseID { get; set; }
public string Title { get; set; }
public int Credits { get; set; }
// Foreign key
public int DepartmentID { get; set; }
// Navigation properties
public virtual Department Department { get; set; }
}
poi la fluent ti servirà per configurare eventuali relazioni multiple sulla stessa entità, se ad esempio Department avesse due tipologie di corsi e quindi due collezioni alla stessa entità, che andrebbero configurate da fluent.
Michael Denny | Microsoft Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.net
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic