Compartir a través de


Depurar consultas de LINQ to DataSet

Visual Studio admite la depuración de código LINQ to DataSet. Sin embargo, hay algunas diferencias entre la depuración del código LINQ to DataSet y el código administrado que no es LINQ to DataSet. La mayor parte de las características de depuración funcionan con instrucciones LINQ to DataSet, entre ellas la función de examen, de establecimiento de puntos de interrupción y el examen de resultados que se muestran en la ventana del depurador. Sin embargo, la ejecución de consultas en diferido conlleva algunos efectos secundarios que se deben tener en cuenta al depurar código LINQ to DataSet y hay algunas limitaciones para utilizar Editar y continuar. En este tema se describen los aspectos de la depuración que son exclusivos de LINQ to DataSet en comparación con el código administrado que no es LINQ to DataSet.

Ver los resultados

Puede ver el resultado de una instrucción LINQ to DataSet mediante la Información sobre datos, la ventana Inspección y el cuadro de diálogo de Inspección rápida. Al usar una ventana de código fuente, puede pausar el puntero en una consulta en la ventana de código fuente para que aparezca una información sobre datos. Puede copiar una variable LINQ to DataSet y pegarla en la ventana Inspección o en el cuadro de diálogo Inspección rápida. En LINQ to DataSet, una consulta no se evalúa cuando se crea o declara, sino únicamente cuando se ejecuta. Esto se denomina ejecución aplazada. Por consiguiente, la variable de consulta no tiene un valor hasta que se evalúe. Para más información, consulte Consultas en LINQ to DataSet.

Para mostrar el resultado de una consulta, el depurador debe evaluarla. Esta evaluación implícita se produce cuando aparece un resultado de la consulta LINQ to DataSet en el depurador y tiene algunos efectos que debería considerar. Cada evaluación de la consulta lleva tiempo. Expandir el nodo de resultados lleva tiempo. Para algunas consultas, la evaluación repetida podría producir una reducción notable del rendimiento. Evaluar una consulta también puede producir efectos secundarios, que son cambios en el valor de los datos o en el estado del programa. No todas las consultas tienen los efectos secundarios. Para determinar si una consulta se puede evaluar sin ningún riesgo ni efectos secundarios, debe entender el código que implementa la consulta. Para obtener más información, vea Efectos secundarios y expresiones.

Editar y continuar

Editar y continuar no admite los cambios a las consultas LINQ to DataSet. Si agrega, quita o cambia una instrucción LINQ to DataSet durante una sesión de depuración, aparece un cuadro de diálogo indicando que Editar y Continuar no admite el cambio. En ese momento, puede deshacer los cambios o detener la sesión de depuración y reiniciar una nueva sesión con el código revisado.

Además, Editar y Continuar no permite cambiar el tipo o el valor de una variable que se usa en una instrucción LINQ to DataSet. De nuevo, puede deshacer los cambios o detener y reiniciar la sesión de depuración.

En Visual C# en Visual Studio, no puede usar Editar y Continuar en cualquier código en un método que contiene una consulta LINQ to DataSet.

En Visual Basic en Visual Studio, puede usar Editar y Continuar en código que no sea LINQ to DataSet, incluso en un método que contiene una consulta LINQ to DataSet. Puede agregar o quitar el código antes de la instrucción LINQ to DataSet, incluso si los cambios afectan al número de línea de la consulta LINQ to DataSet. La experiencia de depuración de Visual Basic para código que no es LINQ to DataSet es igual que antes de incluir LINQ to DataSet. No se puede cambiar, agregar o quitar una consulta LINQ to DataSet, a menos que detenga la depuración para aplicar los cambios.

Vea también