我有3个表用户,访问级别,角色。我的用户班有public virtual Dictionary<Role,AccessLevel> Roles {get; set;}
,和
角色类有public virtual Dictionary<User,AccessLevel> Users {get;set;}
?如何在映射中表示这样的词典?
答案 0 :(得分:0)
如果您提供表的结构,尤其是AccessLevels表,那将是非常好的。据我猜测你的表格结构我可以建议你这个映射
<class name="User" table="Users">
<id name="Id" column="user_id">
<generator class="native" />
</id>
<property name="Name" column="user_name" not-null="true" />
<map name="Roles" table="AccessLevels" cascade="save-update">
<key column="user_id" />
<map-key-many-to-many column="role_id" class="Role" />
<one-to-many class="AccessLevel"/>
</map>
</class>
<class name="Role" table="Roles">
<id name="Id" column="role_id">
<generator class="native" />
</id>
<property name="Name" column="user_name" not-null="true" />
</class>
<class name="AccessLevel" table="AccessLevels">
<id name="Id" column="Id">
<generator class="native" />
</id>
<property name="Level" column="level" not-null="true" />
<many-to-one name="User" column="user_id" not-null="true" cascade="save-update" />
<many-to-one name="Role" column="role_id" not-null="true" cascade="save-update" />
</class>