【发布时间】:2009-11-12 02:41:51
【问题描述】:
在选择父集合时,我遇到了为子集合中的每个项目生成单独的 sql 查询的问题。
我有一个带有 IList 子对象集合的 Parent 对象。
如果我使用 linq 运行以下代码来休眠: IList 父母 = _repository.ToList();
我得到如下 sql 语句:
SELECT * FROM Parent
SELECT * FROM Child WHERE ParentId = 1
SELECT * FROM Child WHERE ParentId = 2
SELECT * FROM Child WHERE ParentId = 3
SELECT * FROM Child WHERE ParentId = 4
etc etc
这显然效率极低,并假设它一定与映射文件有关?
下面是 Child 集合的映射:
<bag name="Children" lazy="false" table="Child" cascade="all-delete-orphan">
<key column="ParentId"/>
<one-to-many class="Child" />
</bag>
相信这是某个地方的新手错误。
任何帮助都非常感谢。
S
【问题讨论】:
标签: linq nhibernate linq-to-nhibernate