【问题标题】:EF6 model creation very slow even with precompiled views即使使用预编译视图,EF6 模型的创建速度也很慢
【发布时间】:2014-11-19 23:51:48
【问题描述】:

我们有一个相当大的 EF 代码优先模型,需要很长时间才能启动。使用 EF5 和预编译视图,加载时间为 30-45 秒。但是,升级到 EF6.1 后,加载时间 > 3 分钟。所有这些工作甚至在它开始查看预编译视图之前就已经发生了。

通过暂停调试器,我确定几乎所有时间都花在调用由 TablePrimitiveOperations.GetPropertyPathMatcher 创建的匿名函数中的 SequenceEqual(请参阅the source)。使用分析器,我已经确认超过 80% 的时间都花在了这种方法上。

是否有任何已知的解决此问题的方法?我已经在Connect 上发布了它,但我想知道目前是否有可用的解决方法。

【问题讨论】:

  • 你使用什么数据库初始化策略?
  • 我会创建什么都不做的自定义数据库初始化策略,并创建只有在数据库实际更改时才会运行的小型控制台应用程序,这将使用正确的数据库初始化策略。
  • @vittore:数据库已经存在(我们手动迁移它),所以我们不使用初始化程序(我们将初始化程序设置为 null)。
  • @Shoe:我认为这无关。这个问题指的是另一个已经修复的瓶颈。

标签: c# performance entity-framework ef-code-first


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-11
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
相关资源
最近更新 更多