为什么.Dump(#)导致我的结果加倍?

Vac*_*ano 5 linqpad

当我使用LinqPad运行OData查询时,我有时需要超过标准3级嵌套/扩展.

我在网上发现你可以打电话Dump(int nestingLevel)来获得更多级别的嵌套.

但是当我这样做时,我得到两个结果集.(一个是我扩展的嵌套,一个是没有.Dump通话的.)

这是为什么?有没有办法可以关掉它?

作为示例连接到http://data.stackexchange.com/stackoverflow/atom并运行此查询:

Posts.Take(1).Select(x=>new{x.Title}).Dump(1)
Run Code Online (Sandbox Code Playgroud)

您将获得两个相同的结果集.像这样:

LinqPad Double

SLa*_*aks 7

运行C# Expression查询时,将自动转储查询的结果.

LINQPad编译代码

LINQPad.Dump(
    //Your code here
);
Run Code Online (Sandbox Code Playgroud)

您的代码也调用Dump()了,因此您在返回外部生成的Dump()调用之前转储对象.
(Dump()返回其参数以允许链接)

您只需要Dump()C# Statements(或更高)查询中,或者如果要转储其他内容.