針對 LINQ to DataSet 進行偵錯
更新: November 2007
Visual Studio 2008 支援針對 LINQ to DataSet 程式碼進行偵錯。不過,針對 LINQ to DataSet 程式碼和非 LINQ to DataSet Managed 程式碼進行偵錯有些不同。多數偵錯功能都使用 LINQ to DataSet 陳述式,包括步進、設定中斷點,以及檢視顯示在偵錯工具視窗中的結果。但是,延後查詢執行在針對 LINQ to DataSet 程式碼進行偵錯時,有一些您必須考慮的副作用,而且在使用 [編輯後繼續] 時,有一些限制。本主題討論 LINQ to DataSet (相較於非 LINQ to DataSet Managed 程式碼) 專屬的偵錯觀點。
檢視結果
您可以使用 DataTips、監看式視窗和快速監看式對話方塊檢視 LINQ to DataSet 陳述式的結果。藉由使用來源視窗,您可以在來源視窗中暫停查詢的指標,而且 DataTip 將會出現。您可以複製 LINQ to DataSet 變數,並將其貼入監看式視窗或快速監看式對話方塊中。在 LINQ to DataSet 中建立或宣告查詢時,不會評估該查詢,只有在執行查詢時,才會進行評估。這稱為「延後執行」。因此,查詢變數在接受評估前沒有值。如需詳細資訊,請參閱LINQ to DataSet 中的查詢。
偵錯工具必須評估查詢,才能顯示查詢結果。當您在偵錯工具中檢視 LINQ to DataSet 查詢結果時,會發生這個隱含的評估,而且該評估會產生一些您應該考慮的效果。查詢的每個評估都需要時間。展開結果節點也需要時間。對於某些查詢而言,重複的評估可能會造成明顯的效能影響。評估查詢也可能造成變更資料值與程式狀態的副作用。並非所有查詢都有副作用。若要判斷查詢是否可以安全地接受評估而沒有副作用,您必須了解實作查詢的程式碼。如需詳細資訊,請參閱副作用和運算式。
編輯後繼續
[編輯後繼續] 不支援 LINQ to DataSet 查詢的變更。如果您在偵錯工作階段期間加入、移除或變更 LINQ to DataSet 陳述式,會出現一個對話方塊,告訴您 [編輯後繼續] 不支援變更。此時,您可以復原變更或停止偵錯工作階段,然後利用編輯過的程式碼,重新啟動新的工作階段。
此外,[編輯後繼續] 不支援變更用於 LINQ to DataSet 陳述式之變數的型別或值。再次提醒,您可以復原變更或停止並重新啟動偵錯工作階段。
在 Visual C# 2008 中,您無法利用包含 LINQ to DataSet 查詢的方法,在任何程式碼上使用 [編輯後繼續]。
在 Visual Basic 2008 中,您甚至可以利用包含 LINQ to DataSet 查詢的方法,在非 LINQ to DataSet 程式碼上使用 [編輯後繼續]。即使變更會影響 LINQ to DataSet 查詢的行號,您還是可以加入或移除 LINQ to DataSet 陳述式前的程式碼。您對於非 LINQ to DataSet 程式碼的 Visual Basic 偵錯經驗與 LINQ to DataSet 推出前相同。不過,您無法變更、加入或移除 LINQ to DataSet 查詢,除非您停止偵錯,才能套用變更。