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

Cal*_*nus 2 linq predicatebuilder

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

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

有任何想法吗?

Str*_*ior 5

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