.net – ORM(特别是NHibernate)性能的复杂查询

我公司正在从零开始重写现有应用程序.此应用程序以及其他任务针对订单和发票数据执行复杂的SQL查询生成销售报告.查询根据用户选择的标准动态构建,因此如果选择了多个标准,它们可能非常复杂.目前,表现是体面的,但不是很大.

现在,对于新版本,我们希望使用一个ORM,可能是NHibernate,因为它显然是唯一支持Oracle Lite的应用程序(应用程序使用Oracle或Oracle Lite,具体取决于它是以连接模式还是断开模式运行).但是我担心NHibernate生成查询性能.我在之前(Linq to sql,Entity Framework)中与其他ORM合作,但是查询很简单,所以没有性能问题.

所以,在我决定使用ORM或使用简单的sql之前,我想知道这些工具如何处理诸如外部连接,子查询等的情况.你认为ORM(尤其是NHibernate)是适用于上述报告情况?我应该担心复杂查询性能吗?

任何反馈将不胜感激

解决方法

this chart.现在没有DataObjects.Net,但是与EF和NHibernate比较的结果如 here所示.

EF的LINQ测试代码here;其他工具的版本可以在同一个文件夹中找到.所有这些.cs文件都是由a single T4 template生成的,因此测试完全相同.使用的模型是northwind.

更多链接

> LINQ test description
> FAQs.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...