预编译(创建映射?)EF DbContext以加快调试速度

时间:2016-01-14 09:20:55

标签: asp.net entity-framework asp.net-web-api asp.net-core-mvc entity-framework-core

需要一段时间(3分钟+)来创建/编译'我的DbContext。 Web服务器在大约5秒内启动,但是当我对数据库进行第一次查询时,实体框架必须构建/创建/编译'我想,内存中的数据库还是什么?接下来的请求几乎是即时的。这是DbContext的Database First创建,数据库已经存在于MSSQL中并且具有数据。 DbContext包含大约500个带关系的DbSet。

有没有办法通过创建(映射?)'来加快速度。在运行Web服务器之前我的实体框架的DbContext,创建它需要的文件/映射,所以第一个请求也很快?

EDIT1:

我已经尝试过Power Tools,但是他们给了我一个错误,DbContext没有可以使用的构造函数,而它有一个普通的构造函数

public DbContext() : base() {}

我可以尝试其他任何事情吗?

1 个答案:

答案 0 :(得分:0)

实体框架文档介绍了如何使用EF Power Tool here生成视图。

一旦停止使用EF Power Tools,您必须:

  1. 右键单击包含DbContext的类或.edmx文件
  2. 选择“生成视图”
  3. 这将生成包含预先计算的映射的类,该映射将在启动时自动加载。如果更改数据库并且不重新生成视图,EF将抛出异常。

    它是否适用于EF7,谁知道......