我在VS2012中使用EF PowerTools(EF5)为我的大型代码优先DataContext生成预编译视图。不幸的是,这并没有帮助加速首次调用数据上下文。它仍然需要大约13秒。是否有一些使用我未考虑到的预编译视图的注意事项?我没有使用迁移,我正在禁用数据库初始化。实体框架代码首次预编译视图不加速首次调用
<connectionStrings>
<add name="MyDataContext" connectionString="..." providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<contexts>
<context type="MyNameSpace.MyDataContext, MyNameSpaceAssembly" disableDatabaseInitialization="true" />
</contexts>
</entityFramework>
嗯,我想还有更多的事情要做。首先,有无视图的时间几乎相同。其次,我刚刚意识到,我忘了重新编译最近添加一个新的实体属性的意见。在引用我的EF程序集的项目中,我实际上可以使用新属性加载实体,进行设置并保存成功。如果预编译的视图没有使用新的属性/列产生,甚至可能这样做? – 2014-11-24 21:21:40
不,您应该在运行应用程序时收到异常,并且在更改模型后没有重新编译视图。 – 2014-11-24 21:26:20
是的,这就是我的想法。我的故障排除似乎表明这些视图没有被使用。我试图找出原因。我右键单击我的上下文,选择实体框架=>生成视图。我不知道是否还有更多。 – 2014-11-24 21:33:57