我正在使用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)?

这仍然可以让您查看执行的查询,并且您可以将其限制为仅记录的计算机...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top