c# - 使用 ToTraceString 与 sproc 的实体框架动态过滤器查询
问题描述
我有一个带有复杂过滤选项的网格视图,查询是在我的 dbcontext 上使用 IQueryable 构建的。这工作正常,表可以包含大量数据,但结果是用理智的分页选项过滤的。我现在需要实现一个导出功能,该功能必须与网格可用的所有过滤选项一起使用。
假设该表可能包含一百万行。
我想我会通过用 EF 执行这个来解决性能问题。我也可以创建一个存储过程,但这会非常复杂,并且逻辑会从 c# 代码中复制出来。
改用构建 IQueryable 并使用生成查询字符串的现有逻辑是否是个好主意
((System.Data.Objects.ObjectQuery)myIqueryable).ToTraceString()
然后我可以使用 ExecuteStoreQuery (或任何其他直接运行 sql 的方式)运行生成的查询?
我对此进行了测试,它似乎工作正常,但我不确定与存储过程相比性能如何,或者我是否会遇到我没有想到的问题。
解决方案
推荐阅读
- mysql - 合并从两个单独的连接获得的结果
- python - 创建彩色概率分布
- c++ - 提升正则表达式以匹配 IF 语句
- reactjs - 反应.js。如何仅显示获取的 API 的第一个对象?
- flutter - 参数类型'列表
' 不能分配给参数类型 'List 功能()' - r - 使 mchoice 问题在包考试的 `exams2moodle()` 中表现为 schoice
- javascript - 时钟中的 setInterval 不会触发
- c# - 如何在 Rider 中禁用“var”声明变量的变量类型提示?
- java - 安卓工作室;警告:不接受软件包 Android SDK Build-Tools 28.0.3 的许可
- c# - 按钮 onclick 是否有一般事件?