2016-06-23 115 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