我有两节课:
class Parent
{
public virtual Child Child { get; set; }
}
class Child
{
public virtual IList<GrandChild> GrandChildren { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个Parent从我加载的实例ISession,Parent.Child是延迟加载的(此时未加载).Child.GrandChildren也很懒.
如果我这样做:
session.Save(new Parent { Child = existingParent.Child } );
Run Code Online (Sandbox Code Playgroud)
我明白了 collection [Child.GrandChildren] was not processed by flush()
如果我引起existingParent的Child被加载性能,只需通过访问:
var x = existingParent.Child.Name
Run Code Online (Sandbox Code Playgroud)
问题消失了.为什么会发生这种情况,我该如何解决它 - 最好不必改变我的提取策略?
**编辑:**父母对孩子有FK
我正在使用NH 2.1.2.4000
谢谢
| 归档时间: |
|
| 查看次数: |
3683 次 |
| 最近记录: |