2016-06-23 111 views
0

尽管已知visual studio 2015允许调试lambda表达式,并且可以在即时和观察窗口中查看它,但我仍然收到错误说明 - Expression不能包含lambda表达式。表达式不能包含lambda表达式-Visual Studio 2015

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

有没有什么选择或什么,我应该打开?我无法调试或查看lambda表达式的结果。

+0

你试过Google搜索确切的错误..?我发现这几个当做一个'C#stackoverflow Experession不能包含lamda表达式'http://stackoverflow.com/questions/23470607/expression-cannot-contain-lambda-expressions – MethodMan

+0

@MethodMan - 是的。我做了,没有一个人在解决这个问题。请看看https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/12/support-for-debugging-lambda-expressions-with-visual-studio-2015/ – atp9

+0

Select语句是否真的有效像那样?我可能只是脑筋急转弯,但是你是否也需要在该陈述中进行比较? 'lstClientDBs.Select(obj => obj.ClientDatabase == x)' – pay

回答

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

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

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

+1

没有。我讨厌这样说,但它只是一个对象列表而不是SQL对象。 – atp9

+0

'lstClientDBs'的数据类型是什么? – Amy

+0

它是MyCustom类对象的列表。 列表 atp9