我们有一个项目,我们使用Entity Framework 4.我测试了预生成的视图。但我们认为根本没有性能差异。示例:我们有一个事务表,大约有20列。第一次运行像这样的查询时,预生成的视图是否有用:
交易交易= repo.Single(t => t.TransactionId == 22857);
更一般地说,在“where”语句不同的情况下,预生成的视图会增加性能吗?
另一个奇怪的事情是,如果我在debug中运行,在自动生成的... Views.cs类中设置断点,代码永远不会进入自动生成的... Views.cs类。
答案 0 :(得分:1)
预生成的视图对您的自定义查询没有帮助。不过,CompiledQuery
会有所帮助。
他们为使用例如myEntity.SomeAssociation.Load()
生成的查询提供帮助。或者懒加载。或者不受限制的全选。
它只对上下文中的第一次执行有所帮助,但它可以是一个显着的改进。