NHibernate包总是空的

时间:2010-05-25 20:45:24

标签: nhibernate mapping

我按照许多文章

的建议设置了我的映射文件和类
class A { ... IList BBag {get;set;} ... }

class B { ... A aObject {get;set;} ... }

<class name="A">...<bag name="BBag" table="B" inverse="true" lazy="false"><key column="A_ID" /><one-to-many class="B" /></bag>...

<class name="B">...<many-to-one name="aObject" class="A" column="A_ID" />...

我在A表中添加了一组A,在B表中添加了一组B,所有数据都存储了 正如所料。但是,如果我尝试访问aInstance.BBag.Count,我会得到一个空引用异常。我想我错过了关于如何实例化包的一些关键知识。 感谢

2 个答案:

答案 0 :(得分:0)

我做了ARepository.Update(BOject);,当我回电话时,由于某种原因我认为更新会自动发生。有没有办法自动更新行李,即一些映射文件设置?

答案 1 :(得分:0)

当你调用Save()/ SaveOrUpdate()/ Update()时,保存的对象的集合将不会被实例化/保存。

因此,如果需要集合元素,则必须再次选择对象。 如果您不想这样做,您可以创建已保存集合对象的集合,并将它们分配给已保存对象的集合属性。