调试LINQ - 无法评估子项

时间:2012-09-17 09:12:01

标签: c# 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();

1 个答案:

答案 0 :(得分:2)

无法从VS进行调试,但我有LINQPad有时可以帮助您。

您最好的选择是将查询拆分为小语句。