由于EF第一次加载比较慢,所以要对EF进行一次初始化的加载,类似第一次打开网页很慢,但第二次打开都很快了的原理一样;第一次把所有静态的图片和JS缓存到本地了;当第二次打开的时候都不需要再去下载这些东西;
因为EF第一次需要生成实体类和数据库的对应关系并做缓存;所以第一次加载的时候很慢;
博客园里面有很多博客都有讲解:
http://www.cnblogs.com/dudu/p/entity-framework-warm-up.html
http://www.kuqin.com/shuoit/20140920/342225.html
http://www.codes51.com/article/detail_124837.html
主要代码如下:
using (var dbcontext = new CnblogsDbContext()) { var objectContext = ((IObjectContextAdapter)dbcontext).ObjectContext; var mappingCollection = (StorageMappingItemCollection)objectContext.MetadataWorkspace.GetItemCollection(DataSpace.CSSpace); mappingCollection.GenerateViews(new List<EdmSchemaError>()); }
其实没什么高深的东西;以前也注意看到过,但都没有深入研究;