2011-04-04 50 views
1

我有一個班級地圖CardMatch有僱員和卡作爲參考
Id(x => x.MatchId).GeneratedBy.Sequence(「CARDMATCH_SEQ」)。列(「MATCHID」);Nhibernate不更新孩子

References(x => x.Employee).Column("EMPNO"); 
References(x => x.Card).Column("CARDID").LazyLoad(Laziness.False).Cascade.SaveUpdate(); 

CardMatch _cm = _rep.getById(1); 
_cm.Card.CardLimit = 500; 
_rep.Update(_cm); 

犯規更新子(卡)。我如何更新孩子?

回答

0

IMO您的FNH映射是正確的。應該在ISession實例上調用Flush方法。最後一行很可能是冗餘,因爲NH自己跟蹤更改。

CardMatch _cm = _rep.getById(1); 
_cm.Card.CardLimit = 500; 
_rep.Flush(); // save changes 
+0

我試過了。但沒有工作。當代碼運行時,NH從不在日誌中顯示UPDATE()命令 – idemirel 2011-04-04 18:17:07

+0

您使用哪種版本的NH和FNH? – 2011-04-04 18:23:43

+0

從NH 3.0新升級到NH 3.1,並升級到FNH 1.2 ... 3.0和3.1都不起作用。 – idemirel 2011-04-04 18:27:03

相關問題