Sdílet prostřednictvím


Ladění dotazů v LINQ to DataSet

Visual Studio podporuje ladění kódu LINQ to DataSet. Mezi laděním kódu LINQ to DataSet a jiným kódem než LINQ to DataSet je však několik rozdílů. Většina funkcí ladění funguje s příkazy LINQ to DataSet, včetně krokování, nastavení zarážek a zobrazení výsledků zobrazených v oknech ladicího programu. Odložené spuštění dotazu má ale některé vedlejší účinky, které byste měli zvážit při ladění kódu LINQ to DataSet a existují určitá omezení pro použití funkce Upravit a Pokračovat. Toto téma popisuje aspekty ladění, které jsou jedinečné pro LINQ to DataSet ve srovnání s jiným kódem než LINQ to DataSet.

Zobrazení výsledků

Výsledek příkazu LINQ to DataSet můžete zobrazit pomocí dat Tipy, okna kukátka a dialogového okna QuickWatch. Pomocí okna zdroje můžete ukazatel na dotaz pozastavit ve zdrojovém okně a zobrazí se popis dat. Můžete zkopírovat proměnnou LINQ to DataSet a vložit ji do okna Kukátko nebo dialogové okno Rychlé kukátko. V LINQ to DataSet se dotaz nevyhodnocuje, když je vytvořen nebo deklarován, ale pouze při spuštění dotazu. Tomu se říká odložené spuštění. Proměnná dotazu proto nemá hodnotu, dokud se nevyhodnotí. Další informace naleznete v tématu Dotazy v LINQ to DataSet.

Ladicí program musí vyhodnotit dotaz, aby se zobrazily výsledky dotazu. Toto implicitní vyhodnocení nastane, když zobrazíte výsledek dotazu LINQ to DataSet v ladicím programu a má některé účinky, které byste měli zvážit. Každé vyhodnocení dotazu nějakou dobu trvá. Rozšíření uzlu výsledků nějakou dobu trvá. U některých dotazů může opakované vyhodnocení způsobit výrazné snížení výkonu. Vyhodnocení dotazu může také způsobit vedlejší účinky, což jsou změny hodnoty dat nebo stavu programu. Ne všechny dotazy mají vedlejší účinky. Pokud chcete zjistit, jestli se dotaz dá bezpečně vyhodnotit bez vedlejších účinků, musíte pochopit kód, který dotaz implementuje. Další informace naleznete v tématu Vedlejší účinky a výrazy.

Upravit a pokračovat

Funkce Upravit a pokračovat nepodporuje změny dotazů LINQ to DataSet. Pokud během ladicí relace přidáte, odeberete nebo změníte příkaz LINQ to DataSet, zobrazí se dialogové okno s oznámením, že změna není podporována nástrojem Edit and Continue. V tomto okamžiku můžete buď vrátit změny zpět, nebo zastavit ladicí relaci a znovu spustit novou relaci s upraveným kódem.

Funkce Edit and Continue navíc nepodporuje změnu typu nebo hodnoty proměnné, která se používá v příkazu LINQ to DataSet. Znovu můžete vrátit změny zpět nebo zastavit a restartovat ladicí relaci.

V sadě Visual C# v sadě Visual Studio nelze použít příkaz Upravit a pokračovat u jakéhokoli kódu v metodě, která obsahuje dotaz LINQ to DataSet.

V jazyce Visual Basic v sadě Visual Studio můžete použít edit and Continue u kódu jiného typu než LINQ to DataSet, a to i v metodě, která obsahuje dotaz LINQ to DataSet. Před příkaz LINQ to DataSet můžete přidat nebo odebrat kód, i když změny ovlivňují číslo řádku dotazu LINQ to DataSet. Prostředí ladění jazyka Visual Basic pro jiný kód než LINQ to DataSet zůstává stejné jako před zavedením LINQ to DataSet. Dotaz LINQ to DataSet nelze změnit, přidat ani odebrat, pokud ale nezastavíte ladění, aby se změny použily.

Viz také