3

我试图了解为什么在断点上无法检查 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();
4

1 回答 1

2

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

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

于 2012-09-17T09:15:46.580 回答