2011-04-04 51 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

相关问题