sto definendo alcuni dei miei modelli atm utilizzando EF5 Code First. Ho questi tre classi di esempio con una relazione molti-a-molti:Relazioni molti-a-molti in Breeze
public class Team { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Team_Id { get; set; } [MaxLength(150)] public string TeamName { get; set; } public virtual ICollection<User> Users { get; set; } [public virtual ICollection<Role> Roles { get; set; } // 1 [Timestamp] public byte[] TimeStamp { get; set; } } public class User { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int User_Id { get; set; } [MaxLength(150)] public string LoginName { get; set; } [MaxLength(150)] public string Nachname { get; set; } [MaxLength(150)] public string Vorname { get; set; } public virtual ICollection<Team> Teams { get; set; } public virtual ICollection<Role> Roles { get; set; } // 2 [Timestamp] public byte[] TimeStamp { get; set; } } public class Role { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Role_Id { get; set; } [MaxLength(50)] public string RoleName { get; set; } [Timestamp] public byte[] TimeStamp { get; set; } }
Come potete vedere c'è una relazione molti-a-molti tra i team e utenti. Sto cercando di farlo funzionare per ore. Ricevo sempre un'eccezione JS con il messaggio di errore "Proprietà errate del nav" in VS 2012. All'inizio ho pensato che fossero gli ICollection Team/Utenti nella classe Utenti/Teams ma non lo era. Il problema sembra essere le due chiamate 1) e 2). Se rimuovo uno di loro funziona. Rinominare uno e mantenendo entrambi i campi attivi genera ancora l'errore. Forse qualcuno ha un'idea cosa sta succedendo.
Molte grazie
Questa domanda è stato pubblicato da SirSmackalot sui nostri IdeaBlade forum. Sto ripubblicando la domanda e la risposta qui poiché penso che sarà utile alla comunità Breeze Stack Overflow.
Consiglio alle persone di evitare implementazioni molti-a-molti. Il concetto è buono ma in pratica quasi cade a pezzi. Nella mia esperienza, la tabella di mappatura alla fine acquisisce una colonna. Forse è un link-date o userId o qualche altro fatto che descrive come le due parti si sono unite. Nel momento in cui aggiungo quel "carico utile", i molti-a-molti cadono a pezzi e devo rendere esplicita l'entità di mappatura/collegamento. Devo strapazzare per rintracciare tutto il codice che dipende dal codice m-to-m ... che può essere difficile da trovare. Vorrei sempre aver creato loro un'entità di mappatura 1-to-m + in primo luogo. – Ward
come apparirebbe una query in brezza con tale entità di collegamento per ottenere tutti gli utenti da una squadra? – daniel
Ancora niente su questo? – Adaptabi