NHibernate Conformist マッピングを使用しています。ManyToMany、OneToMany、Element、およびComponentリレーション タイプを使用して、さまざまなコレクション プロパティの複雑なマッピングを既に作成しています。しかし、私は今日、私を困惑させるものに出くわしました。
public class Permission
{
public virtual long PermissionId { get; set; }
public virtual string Name { get; set; }
}
public class User
{
...
public virtual Set<string> Permissions { get; set; }
}
public class Group
{
...
public virtual Set<string> Permissions { get; set; }
}
テーブルPermissionには列PermissionIdとがありますName。次に、列と列を持つテーブルと、UserPermission列UserIdと列を持つテーブルがあります。PermissionIdGroupPermissionGroupIdPermissionId
ご覧のとおり、Permissionはエンティティであり、ユーザーと権限の間、およびグループと権限の間には多対多の関係があります。Userただし、 andオブジェクトを使いやすくするために、andを持ちGroupたくありません( Conformistのリレーション タイプを使用すると簡単に実現できます)。私は一連の権限名を持ちたいと思っています。通常、多対多を使用する結合テーブルの問題を除いて、関係タイプでこれを達成します。UserGroupSet<Permission>ManyToManyUserGroupElement
多対多でもある単純型のコレクションをマップするにはどうすればよいですか?