У меня есть следующие таблицы:
![enter image description here](https://i.stack.imgur.com/ucNS9.jpg)
По сути, пользователь является частью проекта и имеет определенные права доступа к этому конкретному проекту.
Я создал следующие объекты:
- Пользователь
- Проект
- AccessRight
Как я могу сопоставить, используя NHibernate, сущность User, чтобы я мог легко получить права доступа для проекта, которому он назначен?
Я думал сделать следующее:
- Создайте новую сущность с именем «ProjectRight», в которой в качестве первичного ключа будет указан идентификатор проекта
Создайте набор «Многие ко многим» в сущности «Пользователь»:
public virtual ICollection<ProjectRight> ProjectRights { get; set; }
А в отображении пользователя:
<set name="ProjectRights" table="Users_Projects_Rights">
<key column="id_UserGroup"></key>
<many-to-many class="ProjectRight" >
<column name="id_Project" />
<column name="id_AccessRight" />
</many-to-many>
</set>
Будет ли это работать? И если да, значит ли это, что мне нужно создать две дополнительные сущности, чтобы я мог отобразить таблицу Projects и AccessRights ..?
Спасибо