在使用peedicateBuilder/Aspendable时,如何跟踪LINQ查询?
-
13-09-2019 - |
题
我正在使用peedicateBuilder,这意味着我正在使用AS Expandable扩展方法。问题是,我无法再跟踪我的SQL查询,因为当我尝试将查询施加到ObjectQuery时会丢弃以下错误,以便我可以在objectquery.totracestring()上呼叫...
无法施放类型的对象'linqkit.expandablequery`1 [genesis.person]'type'system.data.objects.objectquery'。
有任何想法吗?
解决方案
我建议您在您的查询中运行一个转储() linqpad, ,并使用SQL选项卡查看生成了什么SQL。做到这一点,将LINQPAD连接到您的实体框架上下文上,按F4包含对linqkit.dll的引用,然后将Linqkit作为命名空间导入。让我知道您是否需要有关如何执行此操作的其他指导。
其他提示
使用以下通用谓词builder而不是linqkit:
http://petemontgomery.wordpress.com/2011/02/10/a-universal-predicatebuilder/
然后objectQuery.totracestring()将按预期工作。
我不熟悉您的精确问题,但是您不能在SQL Server上运行跟踪而不是使用(例如假设MSSQL的Profiler)?
这仍然可以让您查看执行的查询,并且您可以将其限制为仅记录的计算机...
不隶属于 StackOverflow