2010-11-17 80 views
0

我正在通過向NHibernate中另一個對象上的HasMany集合添加來創建一個新對象。將項目添加到HasMany集合時的NHibernate一級緩存

當我直接在同一個會話中查詢該對象時,它是空的。如何將一個子對象存儲在一級緩存中的HasMany集合中。我遇到的問題是我需要獲取對象並在提交之前對它做一些工作。

HasMany(x => x.BehavioralEvents) 
    .AsBag() 
    .Cascade.SaveUpdate() 
    .Inverse() 
    .KeyColumn("StudentCaseId") 
    .LazyLoad(); 

BehavioralEvents是一個IList,我需要直接在同一個會話中查詢它:

session.Get<BehavioralEvent>(id); 

回答

1

您需要保存新的對象,使之持久,而不是依靠從級聯設置父對象。在會話刷新之前級聯不會發生。我假設你自己分配ID而不使用生成的標識符。

+0

是的,我自己分配ID。所以,只需打電話給session.save,然後將我的對象添加到集合中? – 2010-11-17 18:19:35

+0

工作完美,謝謝! – 2010-11-17 18:31:49

相關問題