你能解释在NHibeernate中关系映射中使用inverse =“true”属性的原因吗?需要这个属性需要'true'吗?
答案 0 :(得分:4)
如果您有双向关联,那么从.net端开始,您必须对双方进行编码。像
parent.Children.Add(child);
child.Parent = parent;
然而从nhibernate的角度来看,这将默认为每行发送2个更新语句。你想要的只是更新子表的ParentId列。 Inverse = true确保对该部分所做的更改不会导致DB中的任何更改。因此,如果您使用Inverse = true并只写下面的
parent.Children.Add(child);
数据库中不会发生任何事情,因为这是反面的。