linq - 使用 PredicateBuilder/AsExpandable 时如何跟踪 linq 查询?

标签 linq predicatebuilder

我正在使用 PredicateBuilder,这意味着我正在使用 AsExpandable 扩展方法。问题是我无法再跟踪我的 SQL 查询,因为当我尝试将查询转换为 ObjectQuery 以便我可以对其进行 ObjectQuery.ToTraceString() 调用时,会引发以下错误...

无法将“LinqKit.ExpandableQuery`1[Genesis.Person]”类型的对象转换为“System.Data.Objects.ObjectQuery”类型。

有什么想法吗?

最佳答案

我建议对 LINQPad 中的查询运行 Dump() ,并使用 SQL 选项卡查看生成的 SQL。执行此操作,将 LINQPad 连接到 Entity Framework 上下文,按 F4 以包含对 LinqKit.dll 的引用,并将 LinqKit 作为命名空间导入。如果您需要有关如何执行此操作的更多指导,请告诉我。

关于linq - 使用 PredicateBuilder/AsExpandable 时如何跟踪 linq 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1466511/

相关文章:

c# - PredicateBuilder "And"方法不起作用

lucene - Sitecore Search Predicate Builder 多关键字搜索与 boosting 无法按预期工作

c# - Silverlight:空数据网格

c# - 查找自定义类型列表的最大数量

c# - 在 C# 中枚举对象的属性(字符串)

c# - 如何检查谓词表达式是否已更改?

c# - PredicateBuilder 方法说明

c# - 是否可以从这 2 个 linq 语句中创建 1 个通用方法?

c# - 'string' 不包含 'Contains' 的定义