你能解释在Hibernate中使用inverse =“true”的原因吗?

时间:2011-07-18 09:42:14

标签: c# .net nhibernate nhibernate-mapping

你能解释在NHibeernate中关系映射中使用inverse =“true”属性的原因吗?需要这个属性需要'true'吗?

1 个答案:

答案 0 :(得分:4)

如果您有双向关联,那么从.net端开始,您必须对双方进行编码。像

parent.Children.Add(child);
child.Parent = parent;

然而从nhibernate的角度来看,这将默认为每行发送2个更新语句。你想要的只是更新子表的ParentId列。 Inverse = true确保对该部分所做的更改不会导致DB中的任何更改。因此,如果您使用Inverse = true并只写下面的

parent.Children.Add(child);

数据库中不会发生任何事情,因为这是反面的。