我需要用流利的NHibernate建模一個朋友關係。我的公司型號有關聯公司List<Company> Related
。企業之間的關係進行建模在我的數據庫中的表,related
它看起來像這樣:流利的NHibernate和朋友關係
customer_id | related_id
兩個列是一個外鍵PK我customers
表。
問題是關係只爲每一對保存一次(你稱之爲雙向?)。
我能夠改變表結構,如果它更容易以另一種方式解決。
我需要映射功能NHibernate這樣,當我做customer.Related()
,它會生成一個查詢,如:
SELECT * FROM companies LEFT JOIN related ON customer_id = id OR related_id = id
我一直在努力,在許多不同的方式映射此,我離嘗試是:
HasManyToMany(x => x.Related)
.Inverse()
.ParentKeyColumn("customer_id")
.ChildKeyColumn("related_id")
.Table("relations")
.Cascade.All();
但是,這(當然)只有當customer_id匹配時映射。
我該如何解決這個問題?
編輯: 我認爲它與Fluent NHibernate: How to create one-to-many bidirectional mapping?類似,但它沒有多大幫助。
@Michael,謝謝你的回答。我已經有.Inverse()。還是我誤解你? – alexn 2010-12-21 09:21:32