Why are my EF Code First pregenerated views having no effect?

泄露秘密 提交于 2019-12-04 03:59:51

Certain ORM's like NHibernate and EF are simply slow to start up. Instead of trying to "fix" this slowness, I like to eliminate the problem by making sure IIS triggers this code whenever the app pool starts up. For this to fix the problem you must configure IIS to automatically start your app pool. This solution is only available to .NET 4 and IIS7.5 and newer.

You want to implement a class with IProcessHostPreloadClient which loads an ObjectContext and configure your application to use it by adding a serviceAutoStartProviders node to your web.config and setting startMode="AlwaysRunning" for your applications app pool.

Please refer to Scott Gu's blog for details.

It turns out that it actually seems to search for the pregenerated views in the assembly where the first referenced entity is, not in the assembly where the DbContext is. See more discussion here: http://blog.3d-logic.com/2012/06/13/entity-framework-codefirst-view-generation-templates-on-visual-studio-code-gallery/#comment-76.

To work around this, I made up a new entity and put it in the context's assembly, and listed it as the first DbSet. Now it picks it up, and works well (except that this is ridiculous).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!