2012-09-17 45 views
3

我想了解爲什麼我不能檢查從斷點處的LINQ查詢返回的值。擴大結果視圖簡單地說「兒童無法評估」。調試LINQ-兒童無法評估

另一方面,在代碼中使用foreach枚舉或使用ToList會在調試器中檢查集合。

我會想,因爲它這樣做大多數其他情況下,在調試器中擴展結果相當於集合上的ToList,這就是爲什麼我期望它能夠工作。唯一有點不同的是我從EXE調用DLL,DLL是定義對象的位置以及構建和返回的初始查詢。但我看不到它是那樣的。

var timeboxes = assetRepo.ActiveTimeboxes(); 

// This can't be evaluated in the debugger 
var stories = timeboxes.SelectMany(c => assetRepo.AllStories(c)); 

// This can be inspected in the debugger 
var executedStories = stories.ToList(); 
+2

[調試LINQ及其限制](http://msdn.microsoft.com/zh-cn/library/bb385795.aspx) –

回答

2

從VS調試是不可能的,但我有LINQPad有時可以幫助你。

您最好的選擇是將您的查詢拆分爲小語句。