Ich habe eine Frage, die ich vielleicht über denke, aber hier geht ...Fließende NHibernate Architecture Frage
Ich habe 2 Klassen Benutzer und Gruppen. Benutzer und Gruppen haben eine Viele-zu-Viele-Beziehung und ich dachte, dass die Join-Tabelle group_users eine IsAuthorized-Eigenschaft haben wollte (da einige Gruppen privat sind - Benutzer benötigen eine Autorisierung).
Würden Sie empfehlen, eine Klasse für die Join-Tabelle sowie die Tabelle für Benutzer und Gruppen zu erstellen? Derzeit sehen meine Klassen so aus.
public class Groups
{
public Groups()
{
members = new List<Person>();
}
...
public virtual IList<Person> members { get; set; }
}
public class User
{
public User()
{
groups = new Groups()
}
...
public virtual IList<Groups> groups{ get; set; }
}
Meine Zuordnung ist wie folgt in beiden Klassen (ich nur die eine in der Benutzer-Mapping zeigt aber sie sind sehr ähnlich):
HasManyToMany<Groups>(x => x.Groups)
.WithTableName("GroupMembers")
.WithParentKeyColumn("UserID")
.WithChildKeyColumn("GroupID")
.Cascade.SaveUpdate();
Soll ich schreiben eine Klasse für die Join Tabelle, die so aussieht?
public class GroupMembers
{
public virtual string GroupID { get; set; }
public virtual string PersonID { get; set; }
public virtual bool WaitingForAccept { get; set; }
}
Ich würde wirklich in der Lage sein wie die Gruppenmitgliedschaft Status einzustellen, und ich denke, ich versuche, die beste Art und Weise zu denken, um dies zu realisieren.