使用EF 4.1,您用于删除IncludeMetadataConvention以防止EF在每个查询上查询数据库元数据。阻止实体框架5查询Information_Schema_Tables
在EF 5中,我收到了关于IncludeMetadataConvention过时的警告,在LinqPad中,我可以看到EF现在正在查询每次使用时的迁移历史记录。我正在研究数据库第一个项目(但使用POCO和DbContext)。我不希望这些额外查询的开销。我如何关闭它们?
更新 我发现我可以在每个的DbContext基础上禁用此调用
System.Data.Entity.Database.SetInitializer<theDbContext>(null);
不过,我想能够全局禁用初始化(想象一下,一个大的应用程序,我们希望确保我们在部署生产时不会运行这些查询(并且绝对不会尝试创建数据库)
好吧,现在你已经很好奇了。这是否意味着人们通常只是拖回看起来完全像他们的桌子的物体?我一直在大型应用程序中使用每个模块的上下文,作为根据模块使用方式对同一表进行不同预测的方式。 – JMarsch 2013-03-05 19:46:19
一般是的。你总是可以直接在linq查询中执行投影。 – 2013-03-05 20:37:13