如何在与NHibernate的一对多关系中映射枚举
本文关键字:关系 映射 枚举 一对多 NHibernate | 更新日期: 2023-09-27 18:20:37
我有两个单独的表。
[users] [ roles ]
+-----+ +-------+
| id | |user_id|
+-----+ +-------+
| value | <- [Represented by the enum]
+-------+
以及他们的模型。
class User { int id; IList<Roles> Roles; }
enum Roles { Worker, Manager, Director }
正如你所看到的,这是简单的"一对多"。用户有许多角色。如何在XML中映射这些模型?
映射如何?你试过这样的东西吗:
HasMany(x => x.Roles)
.Cascade.All()
.Table("UserRoles")
.Element("RolesEnum");
我知道这是一个老问题,但在寻找答案时,我发现这是第一个链接。似乎这样做是为了用户实体(使用Fluenthibernate):
HasMany(x => x.Roles)
.Cascade.All()
.Table("roles")
.KeyColumn("user_id")
.Element("value", m => m.Type<EnumStringType<Roles>>());