我目前已将我的博客引擎从 Linq2Sql 转移到 NHIbernate。
我遇到了以下性能问题: 我有一张表:“帖子”,其中包含 ID、标题、PostContent、DateCreated 列等。
问题是,当我创建“最近的帖子列表”时,我不想要整个 PostContent
。
在 Linq2Sql 中,您可以在单个属性上设置延迟加载,因此在您实际请求该属性之前,它不会成为 SQL 查询的一部分。
我尝试用 Fluent NHibernate 这样做,方法是:
Map(x => x.PostContent).LazyLoad();
没有成功。谷歌搜索,似乎 NHibernate 不支持这个,所以我的问题是,我该如何解决这个问题?
如果不将内容移动到单独的表中,真的不可能延迟加载我的属性吗?
提前致谢!
最佳答案
更新:此功能现在在 NHibernate trunk 中可用。
查看详情 Ayende's blog ,其中示例完全您在此处描述的场景。
关于NHibernate:延迟加载单个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1855687/