J'ai une question que je suis peut-être en train de penser à ce point mais ici va ...Fluent NHibernate Architecture Question
J'ai 2 classes Utilisateurs et Groupes. Les utilisateurs et les groupes ont une relation plusieurs à plusieurs et je pensais que la table de jointure group_users que je voulais avoir une propriété IsAuthorized (parce que certains groupes sont privés - les utilisateurs auront besoin d'autorisation).
Recommanderiez-vous la création d'une classe pour la table de jointure ainsi que la table User and Groups? Actuellement, mes cours ressemblent à ceci.
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; }
}
Ma cartographie est comme suit dans les deux classes (je ne participe qu'à celui de la mise en correspondance des utilisateurs, mais ils sont très similaires):
HasManyToMany<Groups>(x => x.Groups)
.WithTableName("GroupMembers")
.WithParentKeyColumn("UserID")
.WithChildKeyColumn("GroupID")
.Cascade.SaveUpdate();
devrais-je écrire une classe pour la joindre une table qui ressemble à ceci?
public class GroupMembers
{
public virtual string GroupID { get; set; }
public virtual string PersonID { get; set; }
public virtual bool WaitingForAccept { get; set; }
}
Je voudrais vraiment pouvoir régler le statut des membres du groupe et je pense que je suis en train de penser à la meilleure façon d'aller à ce sujet.