是否存在通过多个查询处理n + 1问题的ORM?

时间:2016-02-02 01:51:03

标签: c# orm

我们目前正在使用手工构建的查询来检索对象模型的某些部分,但如果我们知道可以让它进行一些我们得到的优化,则会考虑转移到ORM。特别是在涉及N + 1问题时。

假设您有对象A,对于每个A,有一个B列表和一个C列表。

我们希望根据过滤器及其B&C和C

检索A列表

我们目前能够使用3个查询执行此操作,与返回的As数量无关。基本上我们用A及其所有过滤子句构建A的查询,然后使用像

这样的查询查询B&#39。

" SELECT b。* FROM B b WHERE b.a_id IN(为a ...的查询构建的SELECT a.id FROM .....子句)"

然后我们对C做同样的事情并将结果合并到我们的A对象中。

我看过NHibernate和EF,但我从未见过任何框架最终为单个实体请求发送多个查询的示例。

任何例子都会受到赞赏。

0 个答案:

没有答案