EF6 CodeFirst Relazione Gerarchica Padri Figli

martedì 16 dicembre 2014 - 19.00
Tag Elenco Tags  C#  |  SQL Server Express

boggio83 Profilo | Newbie

Ciao,

ho risolto con usando Fluent Api. tramite annotazioni non credo ci sia soluzione.

Grazie

0v3rCl0ck Profilo | Guru

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
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5