Dela via


Felsöka LINQ till DataSet-frågor

Visual Studio stöder felsökning av LINQ till DataSet-kod. Det finns dock vissa skillnader mellan att felsöka LINQ till DataSet-kod och icke-LINQ till hanterad DataSet-kod. De flesta felsökningsfunktioner fungerar med LINQ till DataSet-instruktioner, inklusive stegning, inställning av brytpunkter och visning av resultat som visas i felsökningsfönster. Uppskjuten frågekörning i har dock vissa biverkningar som du bör överväga när du felsöker LINQ till DataSet-kod och det finns vissa begränsningar för att använda Redigera och Fortsätt. Det här avsnittet beskriver aspekter av felsökning som är unika för LINQ till DataSet jämfört med icke-LINQ till DataSet-hanterad kod.

Visa resultat

Du kan visa resultatet av en LINQ-till DataSet-instruktion med hjälp av DataTips, bevakningsfönstret och dialogrutan QuickWatch. Genom att använda ett källfönster kan du pausa pekaren på en fråga i källfönstret så visas en DataTip. Du kan kopiera en LINQ till DataSet-variabel och klistra in den i bevakningsfönstret eller dialogrutan QuickWatch. I LINQ till DataSet utvärderas inte en fråga när den skapas eller deklareras, utan bara när frågan körs. Detta kallas uppskjuten körning. Därför har frågevariabeln inget värde förrän den utvärderas. Mer information finns i Frågor i LINQ till DataSet.

Felsökningsprogrammet måste utvärdera en fråga för att visa frågeresultatet. Den här implicita utvärderingen inträffar när du visar ett LINQ-till DataSet-frågeresultat i felsökningsprogrammet och det har vissa effekter som du bör överväga. Varje utvärdering av frågan tar tid. Det tar tid att expandera resultatnoden. För vissa frågor kan upprepad utvärdering orsaka en märkbar prestandaavgift. Att utvärdera en fråga kan också orsaka biverkningar, som är ändringar i värdet för data eller programmets tillstånd. Alla frågor har inte biverkningar. För att avgöra om en fråga kan utvärderas på ett säkert sätt utan biverkningar måste du förstå koden som implementerar frågan. Mer information finns i Biverkningar och uttryck.

Redigera och fortsätt

Redigera och fortsätt stöder inte ändringar av LINQ till DataSet-frågor. Om du lägger till, tar bort eller ändrar en LINQ till DataSet-instruktion under en felsökningssession visas en dialogruta som anger att ändringen inte stöds av Redigera och Fortsätt. Då kan du antingen ångra ändringarna eller stoppa felsökningssessionen och starta om en ny session med den redigerade koden.

Dessutom har Redigera och Fortsätt inte stöd för att ändra typen eller värdet för en variabel som används i en LINQ till DataSet-instruktion. Återigen kan du antingen ångra ändringarna eller stoppa och starta om felsökningssessionen.

I Visual C# i Visual Studio kan du inte använda Redigera och Fortsätt på någon kod i en metod som innehåller en LINQ till DataSet-fråga.

I Visual Basic i Visual Studio kan du använda Redigera och Fortsätt på icke-LINQ till DataSet-kod, även i en metod som innehåller en LINQ till DataSet-fråga. Du kan lägga till eller ta bort kod före LINQ till DataSet-instruktionen, även om ändringarna påverkar radnumret för LINQ till DataSet-frågan. Visual Basic-felsökningsfunktionen för kod som inte är LINQ till DataSet förblir densamma som innan LINQ till DataSet introducerades. Du kan dock inte ändra, lägga till eller ta bort en LINQ till DataSet-fråga, såvida du inte slutar felsöka för att tillämpa ändringarna.

Se även