2012-10-30 35 views
1
class CASE 
{ 
    public virtual int ID 
    public virtual CASE_BUDGET Case_Budget 
} 

class CASE_BUDGET 
{ 
    public virtual int Case_Id; 
} 

class CASE_MAP 
{ 
    Id(x=>x.ID).GeneratedBy.Custom("trigger-identity"); 
    HasOne<CASE_BUDGET>(x=>x.Case_Budget).Cascade.All(); 
} 

class CASE_BUDGET_MAP 
{ 
    Id(x => x.Case_Id,"CASE_ID").GeneratedBy.Foreign("CASE"); 
} 

我收到無法解決財產:CASE我的錯誤訊息,當我試圖保存的情況下,在這情況下預算。無法解析資源功能NHibernate一對一

任何幫助將不勝感激。

回答

3

a HasOne映射總是需要一個對應的屬性,並且在另一端映射(在這種情況下CASE_BUDGET必須有一個引用該Case的屬性)的Reference。您必須用.PropertyRef()指定它,否則FNH將使用映射類的第一個屬性。

+0

我明白了。因此,在「外殼」(「CASE」)中的「CASE」實際上是指CASE_BUDGET類中的「CASE」屬性。 –