【发布时间】:2012-09-04 01:12:02
【问题描述】:
我已经为此苦苦挣扎了一段时间,但似乎无法弄清楚......
我有一个BlogPost 类,它有一个Comments 的集合,每个cmets 都有一个DatePosted 字段。
我需要做的是查询 BlogPost 并返回部分加载的 Comments 集合,比如说 2009 年 8 月 1 日发布的所有 cmets。
我有这个查询:
BlogPost post = session.CreateCriteria<BlogPost>()
.Add(Restrictions.Eq("Id", 1))
.CreateAlias("Comments", "c")
.Add(Restrictions.Eq("c.DatePosted", new DateTime(2009, 8, 1)))
.UniqueResult<BlogPost>();
当我运行此查询并检查生成的 sql 时,它首先对 BlogPost 表运行查询,加入具有正确日期限制的 Comment 表,然后仅在 @ 上运行第二个查询987654329@ 返回所有内容的表。
结果是BlogPost 类的Comments 集合完全填满了!
我做错了什么?
如果有人需要更多信息,我有代码示例...!
【问题讨论】:
标签: c# nhibernate