我遇到了一些实体框架代码优先查询的性能问题,我相信预编译可能是解决问题的办法。如果我使用的是“普通”实体框架,我会简单地使用CompiledQuery.Compile方法来完成我的查询。但是因为我有一个DbContext,而不是一个ObjectContext,所以我不能让它工作。
我确实意识到DbContext是一个IObjectContextAdapter,它使我能够访问ObjectContext,但是我找不到让我从对象上下文中获得在预编译查询中工作的IQueryable的方法。我尝试使用CreateObjectSet,但当EF尝试运行查询时,它抱怨无法将该方法转换为SQL。
那么,针对代码优先DbContext预编译LINQ查询的最佳方法是什么?
发布于 2011-07-18 17:46:12
从官方公告开始:
“没有来自DbContext的编译查询支持不幸的是,由于我们在.NET Framework4.0中提供的编译查询功能中的一些技术限制,我们无法通过DbContext应用程序接口支持编译查询。我们意识到这是一个痛苦的限制,并将在下一个版本中努力实现这一点。”
Link。
https://stackoverflow.com/questions/6426508
复制相似问题