在使用最近发布的 Entity Framework 6 进行开发的过程中,一些开发人员报告了影响他们项目的性能问题。报告的第一个问题与启动时间有关。在模型创建阶段,当元数据集合以一种会触发很多 Debugger.NotifyOfCrossThreadDependency()调用的方式使用 Lazy
LLBLGen Pro 首席开发人员 Frans Bouma 报告了 Entity Framework 6.0.1实体物化缓慢的问题。Frans 使用dotTrace 运行.NET 性能分析。其中,GetEnumerator 方法获取实际数据用了0.02% 的时间,而在结果集上调用MoveNext 方法消耗了其余的时间。
Frans 说,“依我看,问题有些严重,但我不知道是什么问题。”
还有少数开发人员报告了未附加调试器时的启动性能问题。例如,开发人员在按下F5 后要等待大约10 到15 秒。
微软已经发布了解决第一个问题的补丁(6.0.2)(译者注:原文补丁版本有误;另外,第二个问题还处于调查研究状态)。如果从 NuGet 安装 Entity Framework 6,可以自动获得最新版本。不过,如果使用包含了 Entity Framework 6 的 Visual Studio 2013 项目模板,那么需要通过在包管理控制台上运行 Update-Package EntityFramework 命令来更新到最新的版本。
根据官方消息,一个新的更新将很快发布,用于解决性能问题和其它高优先级的 Bug,也包括开发人员在日常工作中报告的一些新问题。
查看英文原文: Slow Startup Time and Entity Materialization Issues Affects Entity Framework 6
评论