实体框架项目的编译时间非常长

时间:2013-12-21 12:27:26

标签: asp.net visual-studio entity-framework iis-express

问题是一个项目从点击F5到渲染网页需要花费45秒以上的时间 - 大部分时间都来自:

'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/22/ROOT-1-130320809789454211): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Framework\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Framework.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

之前:

'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/22/ROOT-1-130320809789454211): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Entity\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Entity.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

使用VS2013编译4.5目标项目并且使用EF5看到了相同的行为EF6.0.3清洁和构建时间接近瞬时。

我正在使用由反向工程师工具生成的Code First和POCO。中等复杂(一对多对多对象)但相当小 - 不到二十几个实体。

我对上下文的配置ProxyCreationEnabled和LazyLoadingEnabled进行了调整,但对构建时间没有影响。我已经删除了一对多对多的关系 - 再次,没有效果。

我已经加载了几个示例EF项目进行比较,但我没有看到正在使用的System.Data.Entity.dll。这可能与项目使用的数据库服务器有关吗?我的开发数据库不是使用VS的LocalDb,而是SQL 2012开发版 - 只是因为我更喜欢用SSMS观看/检查输出。

我已经初步尝试切换到LocalDb,但在同一个地方遇到无关的错误和相同的延迟。如果它被认为是相关的话,很高兴潜入那个兔子洞。

我几乎没有经历过关于GAC或对框架内部进行故障排除的经验,因此,如果通过对其中任何一个进行更深入的检查来了解我的系统,请慢慢说话,就像对一个小孩子一样。

非常感谢

1 个答案:

答案 0 :(得分:0)

我逐步完成了我的web.config并发现了一些我不是的部分 - 在评论它们之后,编译时间缩短了一半。