Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
La DataSet clase y las clases relacionadas son tecnologías heredadas de .NET Framework de principios de los años 2000 que permiten a las aplicaciones trabajar con datos en memoria mientras las aplicaciones están desconectadas de la base de datos. Las tecnologías son especialmente útiles para las aplicaciones que permiten a los usuarios modificar datos y conservar los cambios de nuevo en la base de datos. Aunque los conjuntos de datos son una tecnología probada de éxito, el enfoque recomendado para las nuevas aplicaciones .NET es usar Entity Framework Core. Entity Framework proporciona una manera más natural de trabajar con datos tabulares como modelos de objetos y tiene una interfaz de programación más sencilla.
Validar las clases de entidad es el proceso de confirmar que los valores especificados en objetos de datos cumplen las restricciones en el esquema de un objeto y también las reglas establecidas para la aplicación. Validar los datos antes de enviar actualizaciones a la base de datos subyacente es un procedimiento recomendado que reduce los errores. También reduce el número potencial de recorridos de ida y vuelta entre una aplicación y la base de datos.
Las herramientas LINQ to SQL de Visual Studio proporcionan métodos parciales que permiten a los usuarios ampliar el código generado por el diseñador que se ejecuta durante las inserciones, actualizaciones y eliminaciones de entidades completas, así como durante y después de cambios de columna individuales.
Nota:
En este tema se proporcionan los pasos básicos para agregar validación a las clases de entidad mediante el Diseñador de O/R. Dado que puede ser difícil seguir estos pasos genéricos sin hacer referencia a una clase de entidad específica, se proporciona un tutorial que usa datos reales.
Agregar validación para los cambios en el valor de una columna específica
Este procedimiento muestra cómo validar los datos cuando cambia el valor de una columna. Dado que la validación se realiza dentro de la definición de clase (en lugar de en la interfaz de usuario), se produce una excepción si el valor hace que se produzca un error en la validación. Implemente el control de errores para el código de la aplicación que intenta cambiar los valores de columna.
Nota:
Las instrucciones de este artículo muestran la versión más reciente de la experiencia de desarrollo interactiva (IDE) disponible en Visual Studio. El equipo puede mostrar nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario. Es posible que esté usando una versión diferente de Visual Studio o una configuración de entorno diferente. Para obtener más información, consulte Personalizar el IDE.
Para validar los datos durante el cambio de valor de una columna
Abra o cree un nuevo archivo LINQ to SQL Classes (
.dbmlarchivo) en el Diseñador de O/R. (Haga doble clic en el archivo en el.dbmlExplorador de soluciones).En el Diseñador de O/R, haga clic con el botón derecho en la clase para la que desea agregar validación y, a continuación, seleccione Ver código.
El Editor de código se abre con una clase parcial para la clase de entidad seleccionada.
Coloque el cursor en la clase parcial.
Para proyectos de Visual Basic:
Expanda la lista Nombre del método .
Busque el método OnCOLUMNNAMEChanging de la columna a la que desea agregar validación.
Se agrega un
OnCOLUMNNAMEChangingmétodo a la clase parcial.Agregue el código siguiente para comprobar primero que se ha escrito un valor y, a continuación, para asegurarse de que el valor especificado para la columna es aceptable para la aplicación. El
valueargumento contiene el valor propuesto, por lo que debe agregar lógica para confirmar que es un valor válido:If value.HasValue Then ' Add code to ensure that the value is acceptable. ' If value < 1 Then ' Throw New Exception("Invalid data!") ' End If End If
Para proyectos de C#:
Dado que los proyectos de C# no generan automáticamente controladores de eventos, puede usar IntelliSense para crear los métodos parciales que cambian de columna. Escriba
partialy, a continuación, un espacio para acceder a la lista de métodos parciales disponibles. Haga clic en el método de cambio de columna para la columna para la que desea agregar validación. El código siguiente es similar al código que se genera al seleccionar un método parcial que cambia de columna:partial void OnCOLUMNNAMEChanging(COLUMNDATATYPE value) { throw new System.NotImplementedException(); }
Agregar validación para actualizaciones a una clase de entidad
Además de comprobar los valores durante los cambios, también puede validar los datos cuando se intenta actualizar una clase de entidad completa. La validación durante una actualización intentada permite comparar valores en varias columnas si las reglas de negocios lo requieren. En el procedimiento siguiente se muestra cómo validar cuándo se intenta actualizar una clase de entidad completa.
Nota:
El código de validación para las actualizaciones de clases de entidad completas se ejecuta en la clase parcial DataContext (en lugar de en la clase parcial de una clase de entidad específica).
Para validar los datos durante una actualización de una clase de entidad
Abra o cree un nuevo archivo LINQ to SQL Classes (
.dbmlarchivo) en el Diseñador de O/R. (Haga doble clic en el archivo en el.dbmlExplorador de soluciones).Haga clic con el botón derecho en un área vacía en el Diseñador de O/R y haga clic en Ver código.
El Editor de código se abre con una clase parcial para el
DataContext.Coloque el cursor en la clase parcial para
DataContext.Para proyectos de Visual Basic:
Expanda la lista Nombre del método .
Haga clic en UpdateENTITYCLASSNAME.
Se agrega un
UpdateENTITYCLASSNAMEmétodo a la clase parcial.Acceda a valores de columna individuales mediante el
instanceargumento , como se muestra en el código siguiente:If (instance.COLUMNNAME = x) And (instance.COLUMNNAME = y) Then Dim ErrorMessage As String = "Invalid data!" Throw New Exception(ErrorMessage) End If
Para proyectos de C#:
Dado que los proyectos de C# no generan automáticamente controladores de eventos, puede usar IntelliSense para crear el método parcial
UpdateCLASSNAME. Escribapartialy, a continuación, un espacio para acceder a la lista de métodos parciales disponibles. Haga clic en el método de actualización de la clase en la que desea agregar validación. El código siguiente es similar al código que se genera al seleccionar unUpdateCLASSNAMEmétodo parcial:partial void UpdateCLASSNAME(CLASSNAME instance) { if ((instance.COLUMNNAME == x) && (instance.COLUMNNAME = y)) { string ErrorMessage = "Invalid data!"; throw new System.Exception(ErrorMessage); } }