Одним из предложений было бы не использовать отображение hasManyToMany и иметь отдельный класс отображения для StoreProduct, который является подклассом продукта.
Новое отображение магазина
public class StoreMap : ClassMap<Store>
{
public StoreMap()
{
Id(x => x.Id);
Map(x => x.Name);
HasMany(x => x.Employee)
.Inverse()
.Cascade.All();
HasMany(x => x.Products)
.Cascade.All();
}
}
NBВместо этого вместо HasManyToMany установлено значение HasMany.
Новое сопоставление подклассов для Store Store
public class StoreProductMap : SubclassMap<StoreProduct>
{
References(x=>x.Store);
Map(x=>x.Quantity);
}
Новая сущность StoreProduct
public class StoreProduct : Product
{
public virtual Store Store {get;set;}
public virtual int Quantity {get;set;}
}
Надеюсь, что это поможет.