在 EF 4.1 中,您曾经删除 IncludeMetadataConvention 以防止 EF 在每次查询时查询数据库元数据。
在 EF 5 中,我收到有关 IncludeMetadataConvention 已过时的警告,在 LinqPad 中,我可以看到 EF 现在正在查询每次使用的迁移历史记录。我正在开发一个数据库优先项目(但使用 POCO 和 DbContext)。我不想要这些额外查询的开销。如何关闭它们?
更新 我发现我可以通过调用在每个 dbContext 的基础上禁用它
System.Data.Entity.Database.SetInitializer<theDbContext>(null);
但是,我希望能够全局禁用初始化(想象一个大型应用程序,我们希望确保在将其部署到生产环境时不会运行这些查询(并且绝对不会尝试创建数据库)。