Fluent nhibernate Fluent NHibernate不加载链接集合

Fluent nhibernate Fluent NHibernate不加载链接集合,fluent-nhibernate,lazy-loading,fluent-nhibernate-mapping,Fluent Nhibernate,Lazy Loading,Fluent Nhibernate Mapping,我有两个简单的实体: public class Post { public virtual int Id {get;set;} public virtual string Title {get;set;} public virtual IList<Comment> {get;set;} } 相应的映射如下所示: HasMany(x => x.Comment).LazyLoad(); References(x => x.Post).Not.Lazy

我有两个简单的实体:

public class Post {
    public virtual int Id {get;set;}
    public virtual string Title {get;set;}
    public virtual IList<Comment> {get;set;}
}
相应的映射如下所示:

HasMany(x => x.Comment).LazyLoad();
References(x => x.Post).Not.LazyLoad();
我的目标是只在我需要的时候在帖子中加载评论,否则不要加载评论。诸如此类:

var posts = session.QueryOver<Post>().ToList() // load posts without comments
var posts = session.QueryOver<Post>().FetchMany(x => x.Comments).ToList(); // load posts with comments
var posts=session.QueryOver().ToList()//加载不带注释的帖子
var posts=session.QueryOver().FetchMany(x=>x.Comments).ToList();//用评论加载帖子

我在Postgres 9.2中使用了FluentNHibernate 2.0.1和NHibernate 4。惰性加载约定仅在列表中有效,当我尝试在非集合子元素上使用它时,我也遇到了不少麻烦


因此,是的,您可以使用
.Conventions.Add(DefaultLazy.Always())
,但这应该是仅用于集合的首选方法

它应该按原样工作,看不到上述代码有任何问题也许您能帮上忙-在这种情况下,我应该在配置中使用.Conventions.Add(DefaultLazy.Always())吗?
var posts = session.QueryOver<Post>().ToList() // load posts without comments
var posts = session.QueryOver<Post>().FetchMany(x => x.Comments).ToList(); // load posts with comments