为啥 EF 在第一次调用的方法中需要很长时间
Posted
技术标签:
【中文标题】为啥 EF 在第一次调用的方法中需要很长时间【英文标题】:why EF takes a long time in first called method为什么 EF 在第一次调用的方法中需要很长时间 【发布时间】:2011-07-21 04:37:37 【问题描述】:我正在使用 web 上的应用程序,我正在使用 ef 创建模型并访问数据库。
创建用于会话级别的会话变量:
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;
在代码中使用 DefaultModel:
return DefaultModel.Ages.OrderBy(c => c.AgeName).ToList();
【问题讨论】:
【参考方案1】:在新建项目后,执行的第一个数据库查询会导致 EF 构建用于数据访问的视图。这可能会导致显着延迟。您可以通过让 EF 预编译视图来解决此问题。请参阅来自 MSDN 的 How to: Pre-Generate Views to Improve Query Performance。
【讨论】:
以上是关于为啥 EF 在第一次调用的方法中需要很长时间的主要内容,如果未能解决你的问题,请参考以下文章
状态栏颜色在ios中需要很长时间才能改变(仅第一次)[重复]
[uiautomator篇][python调用java][1]应用下载的插件需要很长时间问题解决