我对 NHibernate 很陌生,我对 NHibernate 中的枚举映射有疑问(不是流利的......)。
枚举是:
public enum Setting
{
CreateUser,
CreateRole,
UpdateUser,
UpdateRole,
...
}
我还有一个名为“角色”的类,它具有三个属性:
public class Role
{
long ID;
string Name;
ICollection<Setting> Settings;
}
在这个类角色中,我想存储这个特殊角色的所有设置。如果集合中不包含一个设置,则不允许角色执行此操作。
我现在的问题是,如何映射这个类...... 我已经尝试通过 Set 或 Bag 映射这种关系,但这并没有很好地工作。
我可以想象一个数据库模式如下:
+------------+ +------------+ +------------+
| Role | | Ref Table | | Settings |
+------------+ +------------+ +------------+
| ID | FK | Role_ID | FK | ID |
| Name |----| Setting_ID |----| Name |
+------------+ +------------+ +------------+
到目前为止我是对的吗?有人可以帮我如何用 NHibernate 映射它吗?
到目前为止,谢谢
编辑1:
使用单独的枚举类(带有 ID、名称和许多静态方法)解决了问题。之后,我实现了设置和角色之间的多对多关系。