使用ToTraceString与sproc的实体框架动态过滤器查询

时间:2018-08-10 18:49:38

标签: c# sql entity-framework

我有一个带有复杂过滤选项的网格视图,该查询使用 我的dbcontext上的一个IQueryable。这工作正常,表可以包含很多数据,但是结果使用合理的分页选项进行了过滤。 现在,我需要实现导出功能,该功能必须与网格可用的所有过滤选项一起使用。

假设该表可能包含一百万行。

我认为通过使用EF执行此操作会遇到性能问题。 我也可以创建一个存储过程,但这会非常复杂,并且逻辑会从c#代码中复制出来。

最好改用构建IQueryable并使用

生成查询字符串的现有逻辑。
((System.Data.Objects.ObjectQuery)myIqueryable).ToTraceString()

然后我可以使用ExecuteStoreQuery运行生成的查询(或直接运行sql的任何其他方式)?

我对此进行了测试,它似乎运行良好,但是我不确定性能与存储过程的关系如何,或者不确定是否会遇到我没有想到的问题。

0 个答案:

没有答案