我为我的模型添加了预生成的视图,如下所述:
http://blogs.msdn.com/b/adonet/archive/2008/06/20/how-to-use-a-t4-template-for-view-generation.aspx
一切似乎都在编译和代码生成方面,但我不确定EF是否实际使用我预先生成的视图,因为第一个ObjectQuery仍需要3-4秒才能执行(甚至在执行之前)生成SQL)。
如何确定EF正在使用预先生成的视图?
答案 0 :(得分:2)
我有同样的问题,但我做到了这一点:您可以在生成的视图类的构造函数中设置断点。它会被击中。您还可以在其中一个GetViewx()方法中设置断点。当您查询相应的表时,它将被点击。
我正在使用POCO,它们位于另一个项目/程序集中,而不是生成的上下文。生成的视图与上下文位于同一程序集中。首先我虽然它也没有被击中,所以我正在搜索并寻找一种方法来连接它们。我得到的最好的是使用ObjectContext.MetadataWorkspace.LoadFromAssembly(...)方法。但即使我没有明确地连接程序集(我刚刚发现它),断点仍然会受到影响。
我真的100%确定使用了生成的视图吗?不,因为我对一个相当小的模型也有一点延迟。但相当肯定?是的,尽我所能。