我最近升级了一个项目,该项目使用VS2010和EF4的实体框架到VS2012和EF5。该模型源自具有良好模式的现有DB,具有大约70种实体类型,20种函数导入和10种复杂类型(用于返回存储过程结果)。
在VS2010 EF4中,在一个图表中有60个实体及其所有关联线变得笨拙。但VS2010的性能很好,我不记得IDE有任何明显的延迟。
在VS2012 EF5中,我最终从数据库重新导入模型,因为构建在EDMX中保持指示错误(在VS2010 / EF4中未报告)。 ~70个表来自数据库中的8个不同模式,因此我将新模型拆分为每个模式的单独图表,并按模式对实体进行着色。然后,我在每个图中的每个实体上使用“包含相关”,以便所有与模式相关的表都包含在图中(以便可视化关联)。从理论上讲,这是对VS2010 / EF4 IDE的重大改进,因为我现在可以更容易地找到并使用图表中的实体。
除了它在VS2012 / EF5中的PAINFULLY慢。应该快速的任务导致等待光标持续多秒。简单地改变实体的填充颜色就会导致约5秒的等待。选择图表上的10个实体并更改填充颜色会导致20-30秒的等待(近似值)。简单地拖动图表上的实体以将其移动几个像素也会导致类似于对实体属性进行任何更改的延迟。基本上我所做的任何事都会导致我的拇指摆动,这会快速增加并导致浪费大量时间。
我正在通过远程桌面访问的虚拟机上使用Windows 8 Professional下的更新1运行VS2012。 VM运行在Windows Server 2012系统上,具有8~3GHz内核,16GB内存和硬件RAID5。 VS2012 VM已获得4个CPU内核和4GB内存。服务器大多空闲且有足够的可用内存,因此VM应该非常快。相比之下,VS2010在我的桌面上的虚拟盒中使用Windows XP Pro运行,具有2个3GHz内核和3GB内存。另外,我的桌面比服务器有更多的处理器和内存争用,所以VS2012 / EF5在理论上应该更快。
如果它有所不同,我在两种环境中都安装了ReSharper(2012年为v6,2012年为v7)。
我进行了一些实验并用Google搜索了很多但发现很少。它是否比VS2010慢得多?我的安装,配置或项目/模型是否可能导致此问题?我有什么选择让它更快?这非常缓慢且非常无效。
答案 0 :(得分:0)
尝试安装Visual Studio 2012 Update 4。
如果性能没有提高,请尝试暂停ReSharper一段时间,以便再次测试性能。
此致