我有一个大约有500个实体类型的模型。现在,我添加了大约2500个实体类型以备将来使用。因此,现在我大约有3000个实体类型。
目前,我的程序与我只有500个实体时的情况相同。我的程序只是构建实体图,即实例化许多实体并通过引用连接它们。
不幸的是,即使我不处理新实体类型的实例,我的程序运行时间也比添加新实体类型之前长约20倍。
是否正确,实体框架中存在实质性开销,并且随着模型中实体数量的增加而显著增长,尽管 DbContext 的生命周期中大部分模型都不会被使用?
我有一个大约有500个实体类型的模型。现在,我添加了大约2500个实体类型以备将来使用。因此,现在我大约有3000个实体类型。
目前,我的程序与我只有500个实体时的情况相同。我的程序只是构建实体图,即实例化许多实体并通过引用连接它们。
不幸的是,即使我不处理新实体类型的实例,我的程序运行时间也比添加新实体类型之前长约20倍。
是否正确,实体框架中存在实质性开销,并且随着模型中实体数量的增加而显著增长,尽管 DbContext 的生命周期中大部分模型都不会被使用?
EF在启动时会对所有已定义的实体进行反射工作(这需要相当长的时间),而不管它们是否真正被使用。因此,如果您发现启动时间(远远)超过正常,则属于正常现象。
如果在后续查询和操作中遇到此延迟,则可能存在其他问题,您需要提供更多信息以获得解决方案。
生成视图 - 生成预编译视图,用于提高 EF 运行时的启动性能。