У меня есть таблица Shop
, таблица StaffRole
и таблица ShopStaffRole
, которая служит для многих ко многим, но с дополнительными полями, такими как IsRequired
и т. Д.
Shop
ShopId
ShopName
ShopAddress
StaffRole
StaffRoleId
StaffRoleName
ShopStaffRole
ShopStaffRoleId
ShopId
StaffRoleId
IsRequired
Таким образом, мой выбор, кажется, Shop
класс и StaffRole
класс с NHibernate many-to-many
, отображающим между ними, но это не будет отображаться IsRequired
хорошо в моей объектной модели, поэтому имеет смысл иметь класс ShopStaffRole
и отображение one-to-many
между ним и Shop
и StaffRole
.
Однако при ближайшем рассмотрении таблица StaffRole имеет только Id и Name. Имеет ли смысл просто использовать NHibernate join , чтобы поместить StaffRoleName
непосредственно в класс ShopStaffRole
в виде строки, и полностью отказаться от представления таблицы StaffRole
как класса?
Я не ожидаю, что StaffRoleName
изменится в этом приложении, поэтому я должен быть в состоянии избежать неприятностей с отображением только для чтения, которое не позволяет одному ShopStaffRole
влиять на других с тем же StaffRoleName
.
Имеет ли это смысл, или я что-то упустил? Такое ощущение, что моя объектная модель просто поддерживает мою реляционную модель, таблица за таблицей.