2011-10-03 71 views
4

當我使用LinqPad運行OData查詢時,我有時需要超過標準的3層嵌套/擴展。爲什麼.Dump(#)會使我的結果翻倍?

我在網上發現,你可以撥打Dump(int nestingLevel)獲得更多層次的嵌套。

但是當我這樣做,我得到兩個結果集。 (其中一個使用我擴展的嵌套,另一個使用,因爲它沒有.Dump調用。)

爲什麼?有什麼辦法可以解決這個問題嗎?

舉個例子連接到http://data.stackexchange.com/stackoverflow/atom並運行此查詢:

Posts.Take(1).Select(x=>new{x.Title}).Dump(1) 

你會得到兩個相同的結果集。就像這樣:

LinqPad Double

回答

6

當您運行C# Expression查詢,查詢的結果被自動傾倒。

LINQPad編譯代碼

LINQPad.Dump(
    //Your code here 
); 

代碼調用Dump()太多,所以你返回到外傾前的物體所產生Dump()調用。
Dump()返回它的參數,以便鏈接)

你只需要Dump()C# Statements(或更高版本)查詢,或者如果你想別的東西傾倒。

相關問題