詳細については、FNH wikiまたはGoogleからの多数のブログ投稿の1つをお勧めします。
ここでは多対多の関係を実装しようとしていますが、それは多くの人を捨ててしまうようです。ここでは目安だ:あなたのProductクラスに、
IList<Product> Products { get; private set; }
と同様:
あなたのCustomerクラスでは、次のようなコレクションをする必要があります
IList<Customers> Customers { get; private set; }
あなたは多対を始めますHasManyToMany
関数を使用する多対多マップ:
public class CustomerMap : ClassMap<Customer>
{
public CustomerMap()
{
// other mappings
HasManyToMany<Product>(x => x.Products)
.WithTableName("Cust_Product") // Specifies the join table name
.WithParentKeyColumn("CustomerId") // Specifies the key joining back to this table (defaults to [class]_id, Customer_id in this case)
.WithChildKeyColumn("ProductId")
.FetchType.Join(); // Instructs NHibernate to use a join instead of sequential select
}
}
次に、もう一方のプロセスを繰り返します(ProductクラスのCustomersプロパティ)。
スチュアートに感謝します... –