EntityFrameworkDynamicProxies程序集加载时间

时间:2014-02-04 20:19:25

标签: entity-framework

在启动使用EntityFramework的应用程序期间,我注意到正在加载程序集“EntityFrameworkDynamicProxies-My.Entity.Namespace”。它实际上需要一些时间才能加载,这在生产中并不重要,但在调试过程中,它有点烦人。

我们有很多实体类(大约100个),它们可以解释在运行时生成代理类所需的时间。但是我们根本不使用代理,我们在配置上下文时禁用它们(Configuration.ProxyCreationEnabled = false)。那么,如果我们不使用代理,为什么生成和加载动态代理程序集呢?有什么方法可以完全关闭它,从而加快启动速度?

1 个答案:

答案 0 :(得分:1)

我不相信使用Entity Framework本身就可以解决启动时间。您可能会考虑将上下文重构为更小,更集中的上下文。该策略称为“ bounded contexts”。朱莉·勒曼(Julie Lerman)在这个问题上也有一个good article

这里的基本思想是,在给定的EF上下文实例可能需要执行的工作范围内,您将不需要所有属于通用模型的实体。以这种方式构建EF上下文将需要较少的工作,因此应大大减少首次运行的加载时间。