4

我最近将一个使用实体框架的项目从 VS2010 和 EF4 升级到 VS2012 和 EF5。该模型源自具有良好架构的现有数据库,具有大约 70 个实体类型、20 个函数导入和 10 个复杂类型(用于返回存储过程结果)。

在 VS2010 EF4 中,将 60 个实体及其所有关联线放在一个图表中变得越来越笨拙。但是 VS2010 的性能很好,我不记得 IDE 有任何明显的延迟。

在 VS2012 EF5 中,我最终从数据库中重新导入了模型,因为构建不断指示 EDMX 中的错误(在 VS2010/EF4 中未报告)。大约 70 个表来自数据库中的 8 个不同模式,因此我将新模型拆分为每个模式的单独图表,并按模式为实体着色。然后我在每个图表中的每个实体上使用“包含相关”,以便与模式相关的所有表都包含在图表中(以便可视化关联)。从理论上讲,这是对 VS2010/EF4 IDE 的重大改进,因为我现在可以更轻松地在图表中查找和使用实体。

除了它在 VS2012/EF5 中的速度非常慢。应该很快的任务会导致等待光标数秒。像简单地改变实体的填充颜色这样的事情会导致大约 5 秒的等待。在图表上选择 10 个实体并更改填充颜色会导致等待 20-30 秒(近似值)。简单地在图表上拖动实体以将其移动几个像素也会导致与对实体属性进行任何更改类似的延迟。基本上,我所做的任何事情都会导致我的拇指转动,这很快就会导致浪费大量时间。

我正在通过远程桌面访问的虚拟机上的 Windows 8 Professional 下运行带有更新 1 的 VS2012。VM 运行在具有 8 ~3GHz 内核、16GB 内存和硬件 RAID5 的 Windows Server 2012 系统上。VS2012 VM 拥有 4 个 CPU 内核和 4GB 内存。服务器大部分是空闲的,有大量可用内存,因此 VM 应该非常快。相比之下,VS2010 在我桌面上的 Virtual Box 中的 Windows XP Pro 下运行,具有 2 个 3GHz 内核和 3GB 内存。加上我的桌面比服务器有更多的处理器和内存争用,所以 VS2012/EF5 理论上应该快得多。

如果它有所作为,我在两种环境中都安装了 ReSharper(2012 年的 v6 和 2012 年的 v7)。

我做了一些实验,用谷歌搜索了很多,但发现的很少。是不是已知比VS2010慢很多?我的安装、配置或项目/模型是否有可能导致这种情况?我有哪些选择可以让它更快?这是非常缓慢且非常低效的。

4

1 回答 1

0

尝试安装 Visual Studio 2012 Update 4。

如果性能没有提高,请尝试禁用 ReSharper 一段时间以再次测试性能。

问候

于 2013-11-18T16:51:21.467 回答