EntityFrameworkDynamicProxies程序集加载时间

sir*_*oky 8 entity-framework

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

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

Yuc*_*uck 1

我认为使用实体框架本身时没有办法解决启动时间。您可以考虑将您的上下文重构为更小、更集中的上下文。这种策略被称为“有界上下文”。Julie Lerman 也有一篇关于这个主题的好文章

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