Foutopsporing van LINQ naar DataSet-query's
Visual Studio ondersteunt de foutopsporing van LINQ naar DataSet-code. Er zijn echter enkele verschillen tussen foutopsporing van LINQ naar DataSet-code en niet-LINQ naar door DataSet beheerde code. De meeste functies voor foutopsporing werken met LINQ naar DataSet-instructies, waaronder stappen, het instellen van onderbrekingspunten en het weergeven van resultaten die worden weergegeven in foutopsporingsprogrammavensters. De uitgestelde queryuitvoering heeft echter enkele bijwerkingen die u moet overwegen bij het opsporen van fouten in LINQ naar DataSet-code en er zijn enkele beperkingen voor het gebruik van Bewerken en Doorgaan. In dit onderwerp worden aspecten besproken van foutopsporing die uniek zijn voor LINQ naar DataSet in vergelijking met niet-LINQ naar beheerde DataSet-code.
Resultaten bekijken
U kunt het resultaat van een LINQ naar DataSet-instructie weergeven met behulp van DataTips, het venster Controle en het dialoogvenster QuickWatch. Met behulp van een bronvenster kunt u de aanwijzer op een query in het bronvenster onderbreken en wordt er een DataTip weergegeven. U kunt een LINQ kopiëren naar een DataSet-variabele en deze plakken in het venster Watch of het dialoogvenster QuickWatch. In LINQ naar DataSet wordt een query niet geëvalueerd wanneer deze wordt gemaakt of gedeclareerd, maar alleen wanneer de query wordt uitgevoerd. Dit wordt de uitgestelde uitvoering genoemd. Daarom heeft de queryvariabele pas een waarde als deze wordt geëvalueerd. Zie Query's in LINQ naar DataSet voor meer informatie.
Het foutopsporingsprogramma moet een query evalueren om de queryresultaten weer te geven. Deze impliciete evaluatie treedt op wanneer u een LINQ naar DataSet-queryresultaat bekijkt in het foutopsporingsprogramma en er enkele effecten zijn die u moet overwegen. Elke evaluatie van de query kost tijd. Het uitbreiden van het resultatenknooppunt kost tijd. Voor sommige query's kan herhaalde evaluatie een merkbare prestatiestraf veroorzaken. Het evalueren van een query kan ook bijwerkingen veroorzaken. Dit zijn wijzigingen in de waarde van gegevens of de status van uw programma. Niet alle query's hebben bijwerkingen. Als u wilt bepalen of een query veilig kan worden geëvalueerd zonder bijwerkingen, moet u de code begrijpen waarmee de query wordt geïmplementeerd. Zie Bijwerkingen en expressies voor meer informatie.
Bewerken en doorgaan
Bewerken en doorgaan biedt geen ondersteuning voor wijzigingen in LINQ naar DataSet-query's. Als u tijdens een foutopsporingssessie een LINQ aan DataSet-instructie toevoegt, verwijdert of wijzigt, wordt er een dialoogvenster weergegeven dat aangeeft dat de wijziging niet wordt ondersteund door Bewerken en Doorgaan. Op dat moment kunt u de wijzigingen ongedaan maken of de foutopsporingssessie stoppen en een nieuwe sessie opnieuw starten met de bewerkte code.
Daarnaast biedt Bewerken en Doorgaan geen ondersteuning voor het wijzigen van het type of de waarde van een variabele die in een LINQ wordt gebruikt in een DataSet-instructie. U kunt de wijzigingen opnieuw ongedaan maken of de foutopsporingssessie stoppen en opnieuw starten.
In Visual C# in Visual Studio kunt u bewerken en doorgaan niet gebruiken voor code in een methode die een LINQ naar DataSet-query bevat.
In Visual Basic in Visual Studio kunt u Edit and Continue on non-LINQ gebruiken voor DataSet-code, zelfs in een methode die een LINQ naar DataSet-query bevat. U kunt code toevoegen of verwijderen vóór de LINQ naar de DataSet-instructie, zelfs als de wijzigingen van invloed zijn op het regelnummer van de LINQ naar de DataSet-query. Uw Visual Basic-foutopsporingservaring voor niet-LINQ naar DataSet-code blijft hetzelfde als voordat LINQ naar DataSet werd geïntroduceerd. U kunt echter geen LINQ wijzigen, toevoegen aan of verwijderen uit een DataSet-query, tenzij u stopt met foutopsporing om de wijzigingen toe te passen.