表达式不能包含lambda表达式-Visual Studio 2015

时间:2016-06-23 18:13:23

标签: c# lambda visual-studio-2015

虽然,众所周知,visual studio 2015允许调试lambda表达式,并且可以在立即和观察窗口中查看它,但我仍然得到错误说明 - 表达式不能包含lambda表达式。

?lstClientDBs.Select(obj=>obj.ClientDatabase)
Expression cannot contain lambda expressions

是否有任何选项或内容,我应该启用?我无法调试或查看lambda表达式的结果。

2 个答案:

答案 0 :(得分:1)

不确定VS2015中的新功能,但尝试将表达式设置为变量,然后进行调试,如

var data = lstClientDBs.Select(obj=>obj.ClientDatabase);

奇怪,但看起来MS声明他们已在VS2015 debuggerhttps://blogs.msdn.microsoft.com/visualstudioalm/2014/11/12/support-for-debugging-lambda-expressions-with-visual-studio-2015/)中添加了该功能

此外,您可能打算使用Where()扩展方法,而不是Select()

var data = lstClientDBs.Where(obj=>obj.ClientDatabase);

答案 1 :(得分:-1)

不支持涉及本机函数(即Linq-to-SQL)的表达式。我猜lstClientDBs是一个数据库上下文。因此,您将无法使用LINQ表达式。

请参阅https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/12/support-for-debugging-lambda-expressions-with-visual-studio-2015/