Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 实体框架5.0基准测试_.net_Entity Framework_Ado.net_Linq To Entities_Benchmarking - Fatal编程技术网

.net 实体框架5.0基准测试

.net 实体框架5.0基准测试,.net,entity-framework,ado.net,linq-to-entities,benchmarking,.net,Entity Framework,Ado.net,Linq To Entities,Benchmarking,我正在实习,我被要求评估新实体框架5.0的性能变化。 我个人从未使用过实体框架,也没有任何大型数据库或查询来进行适当的基准测试 我一直在做一些针对.NET 4.5的简单测试,使用LINQ查询的for循环,以尝试自动编译查询,并看到从我针对.NET 4.0时到现在的性能变化,但我根本看不到任何性能变化 是否有任何已经完成的实体框架基准测试可以显示新版本的实体框架何时具有更好的性能 谢谢几件事: 如果您想比较.NET 4和.NET 4.5之间的性能变化,您必须有两台计算机,因为.NET 4.5已经

我正在实习,我被要求评估新实体框架5.0的性能变化。 我个人从未使用过实体框架,也没有任何大型数据库或查询来进行适当的基准测试

我一直在做一些针对.NET 4.5的简单测试,使用LINQ查询的for循环,以尝试自动编译查询,并看到从我针对.NET 4.0时到现在的性能变化,但我根本看不到任何性能变化

是否有任何已经完成的实体框架基准测试可以显示新版本的实体框架何时具有更好的性能

谢谢

几件事:

  • 如果您想比较.NET 4和.NET 4.5之间的性能变化,您必须有两台计算机,因为.NET 4.5已经升级到位。在计算机上安装.NET4.5将“消除”在旧的.NET4.0上运行的可能性(感谢微软的噩梦)。您可以将项目定位到.NET4,但在运行时,如果安装了.NET4.5,您将始终在其上运行
  • 查找性能改进可能非常困难,因为查询生成中没有实际更改的列表,但您应该感兴趣的两个方面是:
    • 自动编译查询-EF5和.NET4.5中的自动功能。此功能将提高查询的后续执行速度-第一次执行仍将比.NET 4中的“慢”甚至“慢”
    • 每个层次结构查询中的表优化。这通常会改进只针对继承结构中单一类型的查询,或只从基本实体中投影字段的查询。在.NET4中,这总是导致连接派生实体的所有表,即使它们不需要。我还没有尝试这种改进,所以我很乐意在这里阅读您的发现

这就是你想要的吗?这个链接只是显示了一些无法解释的测试结果。我需要能够从代码中执行测试,以便评估哪些场景存在任何实际的性能变化。您能将您正在使用的旧版本粘贴到问题中吗?正如我所说,我一直在做非常简单的LINQ查询循环(比如在context.DepartmentID==p的情况下,var q1=from c选择c;var department=q1.First();)但是.NET 4.5和.NET 4.0之间似乎没有任何性能差异谢谢,我仍然在想,当我将项目定位到.NET 4.0时,它实际上运行到了.NET 4.0上。一旦我有了一些具体的测试结果,我就会将它们发布到这里。定位只适用于VS体验(intellisense和build)但是,由于.NET 4.5程序集的版本与.NET 4.0的版本相同,因此它们在运行时使用。我不明白Microsoft为什么会这样做。但非常感谢您提供的提示,我几乎花了一整天的时间试图理解,如果自动编译作为实体框架5的主要变更之一。