Asp.net mvc 227个映射类的子类型导致实体框架数据库上下文初始化缓慢?

Asp.net mvc 227个映射类的子类型导致实体框架数据库上下文初始化缓慢?,asp.net-mvc,entity-framework,orm,Asp.net Mvc,Entity Framework,Orm,我有一个国家级,有227个亚型(每个国家一个)。 传统限制使我无法轻松更改此设置 我仔细检查了一下,事实上,大量的子类型导致EF的初始化速度非常慢,在第一次调用时,第一次访问DbContext大约需要2分钟 有什么方法可以在实体框架中保持如此多的子类型并避免这种缓慢的加速吗 挂起可以通过对Db.Users.Find(1)进行简单调用来发生;(例如)创建上下文的第一个实例时, EF验证数据库模式, 如果模型没有更改,您可以通过静态构造函数跳过此步骤: static ctor { Database.

我有一个国家级,有227个亚型(每个国家一个)。 传统限制使我无法轻松更改此设置

我仔细检查了一下,事实上,大量的子类型导致EF的初始化速度非常慢,在第一次调用时,第一次访问DbContext大约需要2分钟

有什么方法可以在实体框架中保持如此多的子类型并避免这种缓慢的加速吗


挂起可以通过对Db.Users.Find(1)进行简单调用来发生;(例如)

创建上下文的第一个实例时, EF验证数据库模式, 如果模型没有更改,您可以通过静态构造函数跳过此步骤:

static ctor
{
Database.SetInitializer<BillingContext>(null);
}
static-conctor
{
Database.SetInitializer(null);
}

伤害您的是初始视图生成实体框架在冷查询过程中经历的过程(针对未映射视图的实体的查询)。这些模型是从实体到表的映射,使EF在之后变得如此高效:

基于的规范计算这些视图的过程 映射就是我们所说的视图生成 在加载模型时或在构建时由 使用“预生成视图”;后者以 将实体SQL语句转换为C#或VB文件

预生成的视图使用VS中的EF工具进行设计,并在编译时而不是运行时构建

还可以考虑使用实体框架动力工具 右键单击,生成EDMX和代码优先模型的视图 模型类文件,并使用实体框架菜单选择 “生成视图”。实体框架电动工具仅在 DbContext派生的上下文,可在以下位置找到:

有关如何在实体上使用预生成视图的详细信息,请参见 框架6访问

检查这个
您需要了解的关于预生成视图、应用视图、甚至将视图移动到其自己的程序集的所有信息(以便视图生成生成独立于应用程序发布生成。

感谢您的提示,嗯,这似乎没有什么帮助。