在NHibernate中加载延迟

Ted*_*ith 3 nhibernate lazy-loading

如果客户附加了许多订单.你将如何使用NHibernate延迟加载订单列表.

是否需要设置映射文件?任何帮助或一个例子都会很棒.

lom*_*axx 7

Chris的建议是如何做到这一点,但是如果你想在运行时这样做,你可以将你的条件上的Fetchmode设置为懒惰,如下所示:

criteria.SetFetchMode("Orders", FetchMode.Lazy)
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 5

这里有一篇好文章:

http://blogs.chayachronicles.com/sonofnun/archive/2007/03/30/230.aspx

从上面的文章:

最常见的是简单地用 'lazy="true"' 属性标记类或在映射声明中放置 'default-lazy="true"':

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="@core.assembly@"
 default-access="nosetter.camelcase-underscore" default-lazy="true">
Run Code Online (Sandbox Code Playgroud)

或者

<class name="Cei.eMerge.Core.Domain.Contacts.Contact" table="Contact" lazy="true" >
Run Code Online (Sandbox Code Playgroud)