【发布时间】:2013-09-04 18:03:53
【问题描述】:
有没有一种方法可以在 Visual Studio 2010 中查看 LINQ 查询的结果?如果您将查询添加为监视表达式,它将显示“表达式不能包含 lambda 表达式”。
在一些测试代码中,我汇总了一些子项的一组指标的总数,并将总和与同一指标的父项值进行比较(深层嵌套 if-else)。我所有的查询都在 if 语句中。如何在不将结果分配给局部变量的情况下查看这些值?赋值使我的行数加倍,除了调试之外没有任何好处。有没有人可以在调试器中查看 LINQ 查询的结果?
【问题讨论】:
-
也许您可以使用LINQPad 并引用您自己的程序集。你可以
Dump查询,你会看到结果。 -
@AlexeiLevenkov 这些都是整数。
-
@Habib 我曾考虑在 LINQPad 中测试我的代码,但听起来工作量很大。在这一点上,最好的解决方案是关注价值观并做一些心算。
-
有一些用于 LINQ to SQL 或 Linq to Entities 的调试可视化工具。对于 Lambda 表达式,您现在只能使用技巧:msdn.microsoft.com/en-us/library/vstudio/bb385795.aspx
-
@Habib 三年后更新:VS2015 现在支持在 Watch 窗口中编写 lambda 表达式,OzCode EAP (o.oz-code.com/LINQ_EAP) 现在允许您直接从调试器分析 LINQ 查询,无需在 LINQPad 中设置相同的引用。
标签: c# .net visual-studio-2010 linq