ich definiere einige meiner Modelle atm mit EF5 Code First. Ich habe diese drei Beispielklassen mit einer Viele-zu-viele-Beziehung:Viele-zu-viele Beziehungen 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; } }
Wie Sie gibt es eine viele-zu-viele-Beziehung zwischen den Teams und Benutzer sehen können. Ich versuche, dies stundenlang zur Arbeit zu bringen. Ich bekomme immer eine JS Ausnahme mit der Fehlermeldung "Bad Nav Eigenschaften" in VS 2012. Bei zuerst dachte ich, es war die ICollections Teams/Benutzer in Benutzer/Teams-Klasse, aber es warnt nicht. Das Problem scheint die beiden Aufrufe 1) und 2) zu sein. Wenn ich einen von ihnen entferne, funktioniert es. Das Umbenennen von eins und das Beibehalten beider Felder weiterhin wirft den Fehler. Vielleicht hat jemand eine Idee was los ist.
Vielen Dank
Diese Frage wurde von SirSmackalot auf unsere Ideablade Foren gepostet. Ich wiederhole die Frage und antworte hier, da ich denke, dass es für die Breeze Stack Overflow-Community nützlich sein wird.
Ich rate Menschen zu viele-zu-viele Implementierungen zu vermeiden. Das Konzept ist in Ordnung, aber in der Praxis fällt es fast immer auseinander. Nach meiner Erfahrung erwirbt die Zuordnungstabelle schließlich eine Spalte. Vielleicht ist es ein Link-Datum oder eine userId oder eine andere Tatsache, die beschreibt, wie die beiden Seiten zusammen kamen. In dem Moment, in dem ich diese "Nutzlast" hinzufüge, fällt das Many-to-Many auseinander und ich muss die Mapping/Linking-Entity explizit machen. Ich muss versuchen, den ganzen Code aufzuspüren, der von m-to-m ... Code abhängt, der schwer zu finden ist. Ich wünschte immer, ich hätte sie überhaupt zu einer 1-zu-m + -Kartierungseinheit gemacht. – Ward
Wie würde eine Abfrage in breeze mit einer solchen verknüpfenden Entität aussehen, um alle Benutzer aus einem Team zu erhalten? – daniel
Immer noch nichts dabei? – Adaptabi