Если вы используете тип отношения 'Set' (уникальный набор элементов, NHibernate.Collection.Generic.PersistentGenericSet), вы можете определить свое сопоставление с помощью System.Collections.Generic.ICollection и использовать System.Collections.Generic.HashSet .
Я использую Castle ActiveRecord, и это код, который я использую:
// In the Collections entity mapping
[HasAndBelongsToMany(typeof(Region),
Table = "CollectionRegionAssociation", ColumnKey = "CollectionId", ColumnRef = "RegionId", RelationType = RelationType.Set)]
public virtual System.Collections.Generic.ICollection<Region> Regions { get; set; }
// Creating and saving a new object
var c = new Collection(); // my own entity
c.Regions = new System.Collections.Generic.HashSet<Region>();
c.Regions.Add(new Region() { ... });
c.Save();