Полагаю, вы хотите, чтобы инструмент NHibernate SchemaExport
генерировал эти индексы / ключи для вас.
Для многих ко многим сумок (FluentNHibernate'sтип коллекции по умолчанию), SchemaExport генерирует:
create UserGroups (
securityGroupId INT not null,
userId INT not null,
)
Для множества ко многим устанавливает , генерирует:
create UserGroups (
securityGroupId INT not null,
userId INT not null,
primary key (securityGroupId, userId)
)
... так что просто добавьте .AsSet()
к вашему отображению.
mapping.HasManyToMany(x => x.Members)
.AsSet()
// ... etc.
Это действительно имеет смысл, если вы подумаете о том, что такое сумки и наборы.Элементы набора должны быть уникальными, в то время как у сумок нет требования уникальности.