【问题标题】:why EF takes a long time in first called method为什么 EF 在第一次调用的方法中需要很长时间
【发布时间】:2011-07-21 04:37:37
【问题描述】:

我正在使用 web 上的应用程序,我正在使用 ef 创建模型并访问数据库。

  1. 创建用于会话级别的会话变量:

    private Model.WebsiteModelContainer s_defaultModel;
    public Model.WebsiteModelContainer DefaultModel
    {
        get
        {
            s_defaultModel = HttpContext.Current.Session["DefaultModel"] as WebsiteModelContainer;
    
            if (s_defaultModel == null)
            {
                s_defaultModel = new Model.WebsiteModelContainer();
                HttpContext.Current.Session["DefaultModel"] = s_defaultModel;
            }
    
    
            return s_defaultModel;
        }
    }
    
  2. 在代码中使用 DefaultModel:

    return DefaultModel.Ages.OrderBy(c => c.AgeName).ToList();

【问题讨论】:

    标签: c# .net performance entity-framework


    【解决方案1】:

    在新建项目后,执行的第一个数据库查询会导致 EF 构建用于数据访问的视图。这可能会导致显着延迟。您可以通过让 EF 预编译视图来解决此问题。请参阅来自 MSDN 的 How to: Pre-Generate Views to Improve Query Performance

    【讨论】:

      猜你喜欢
      • 2019-04-15
      • 2017-02-28
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      • 2011-04-22
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      相关资源
      最近更新 更多