我们目前正在使用手工构建的查询来检索对象模型的某些部分,但如果我们知道可以让它进行一些我们得到的优化,则会考虑转移到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,但我从未见过任何框架最终为单个实体请求发送多个查询的示例。
任何例子都会受到赞赏。