Очевидно, у вас есть отношение «многие ко многим»: у заказа может быть много предметов, и предмет может принадлежать множеству заказов. В реляционной базе данных вам нужно выразить это в отдельной таблице, которая, как я полагаю, у вас есть - давайте предположим, что эта таблица называется OrdersItems
.
Следуя примеру Store / Product из Fluent NHibernate документации , вы создадите свойство Items
в Order
и свойство Orders
в Item
:
class Order
{
public virtual IList<Item> Items { get; protected set; }
}
class Item
{
public virtual IList<Order> Orders { get; protected set; }
}
И сопоставления:
public class OrderMap : ClassMap<Order>
{
public OrderMap()
{
HasManyToMany(x => x.Items)
.Cascade.All()
.Table("OrdersItems");
}
}
public class ItemMap : ClassMap<Item>
{
public ItemMap()
{
HasManyToMany(x => x.Orders)
.Cascade.All()
.Inverse()
.Table("OrdersItems");
}
}