【问题标题】:Entity Framework - Initial Save is slow实体框架 - 初始保存很慢
【发布时间】:2012-09-23 23:26:49
【问题描述】:

我们正在使用 EF4 和 WPF 实现一个系统。我们注意到初始保存数据的问题:运行初始 SaveChanges 时,运行 context.SaveChanges() 命令时会有 4 到 6 秒的延迟。随后的每个 SaveChanges 都非常快,没有明显的延迟。这不是一个大问题 - 但仍然是一个烦恼。

有没有人遇到过这个问题并知道解决方法?

谢谢

【问题讨论】:

  • 我在 EF3 中体验过这种情况,但不知道如何解决。我同意这真的很烦人。
  • 放置一个 SQL Profiler 并跟踪?查看保存时发生的情况
  • 同意@the rebooter。使用 SQL Profiler 和代码分析器分析您的应用程序。找出是什么让你慢了下来。
  • 我们这样做了,但是无论是初始保存还是后续保存,生成和执行的 sql 都是完全相同的。

标签: entity-framework save savechanges


【解决方案1】:

问题已解决:答案是预先生成模型的视图。实现该解决方案的原因和方法可在此处找到:http://msdn.microsoft.com/en-us/library/bb896240.aspx

简而言之 - 每次创建新上下文时,Entity Framework 都会生成一组用于访问数据库的视图。此视图生成是一项昂贵的操作,并且会导致遇到的显着初始延迟。通过预先编译这些视图,可以避免这种初始延迟。

【讨论】:

    猜你喜欢
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    相关资源
    最近更新 更多