この時点で考えすぎかもしれないという質問がありますが、ここに行きます...
ユーザーとグループの2つのクラスがあります。ユーザーとグループには多対多の関係があり、結合テーブル group_users に IsAuthorized プロパティが必要だと考えていました (一部のグループはプライベートであるため、ユーザーは承認が必要になるため)。
結合テーブルとユーザーおよびグループ テーブルのクラスを作成することをお勧めしますか? 現在、私のクラスは次のようになっています。
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; }
}
私のマッピングは、両方のクラスで次のようになっています (ユーザー マッピングの 1 つだけを表示していますが、非常に似ています)。
HasManyToMany<Groups>(x => x.Groups)
.WithTableName("GroupMembers")
.WithParentKeyColumn("UserID")
.WithChildKeyColumn("GroupID")
.Cascade.SaveUpdate();
このような結合テーブルのクラスを作成する必要がありますか?
public class GroupMembers
{
public virtual string GroupID { get; set; }
public virtual string PersonID { get; set; }
public virtual bool WaitingForAccept { get; set; }
}
グループ メンバーシップのステータスを調整できるようにしたいのですが、これについて最善の方法を考えようとしていると思います。