我公司正在从零开始重写现有应用程序.此应用程序以及其他任务针对订单和发票数据执行复杂的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.
更多链接: