Compartir a través de


Información general sobre el modelo de datos dinámicos de ASP.NET

Actualización: Julio de 2008

El modelo de datos representa la información que se encuentra en una base de datos y cómo se relacionan entre sí los elementos de la base de datos. Los datos dinámicos de ASP.NET utilizan modelos de datos que representan los datos como tipos CLR. Admite los modelos de datos de LINQ-to-SQL y ADO.NET Entity Framework.

A través del modelo de datos, puede controlar el aspecto y comportamiento de los campos de datos y realizar la validación automática con poco o nada de código. Además, puede personalizar el modelo de datos para configurar cómo se validan los campos de datos y cómo se representa la interfaz de usuario que muestra y modifica los campos de datos.

Entendiendo y trabajando con el modelo de datos, puede hacer lo siguiente:

  • Hacer el código más reutilizable creando la lógica relacionada con los datos en el nivel de los datos en lugar de incrustarla en el nivel de la presentación.

  • Personalizar la validación de los campos de datos en el nivel de los datos.

  • Personalizar el aspecto y comportamiento de los campos de datos aplicándoles metadatos.

Este tema contiene las siguientes secciones:

  • Background

  • Mostrar y modificar campos de datos

  • Validar campos de datos

  • Información adicional

Información general

Los datos dinámicos admiten los modelos de datos de LINQ to SQL y Entity Framework que se incluyen en NET Framework. Estos modelos contienen tipos CLR que los datos dinámicos utilizan para consultar la base de datos y realizar operaciones de creación, lectura, actualización y eliminación (CRUD). Los modelos proporcionan una manera fácil de integrar la validación de datos y las reglas de lógica empresarial en el modelo de datos.

Al crear un nuevo proyecto en Visual Studio 2008, puede seleccionar la plantilla Clases de LINQ to SQL o Entity Data Model de ADO.NET. Esta selección determina el tipo de modelo que utiliza el proyecto, es decir, el modelo de LINQ-to-SQL o Entity Framework. La función scaffolding de datos dinámicos únicamente puede admitir uno de los tipos de modelo de datos en el mismo proyecto.

En tiempo de ejecución, los datos dinámicos extraen automáticamente información sobre el modelo de datos, por ejemplo las propiedades de campo de datos. A partir de esta información, deduce cómo crear la interfaz de usuario para mostrar y modificar datos. Para representar la interfaz de usuario, utiliza plantillas de campo. Por ejemplo, los datos dinámicos utilizan la siguiente información para representar la interfaz de usuario:

  • Información sobre las asociaciones entre las tablas para mostrar columnas de clave externa y navegar entre las tablas.

  • Información del tipo de datos para agregar la validación a un campo de datos. Por ejemplo, la información de columna nula se puede utilizar para determinar si se requiere un campo de datos, y la información de longitud se puede utilizar para restringir la longitud máxima de la entrada de texto del usuario.

Para obtener más información, vea Cómo: Personalizar la apariencia y el comportamiento de los campos de datos en el modelo de datos.

Mostrar y modificar campos de datos

Los datos dinámicos utilizan los metadatos del modelo de datos para determinar automáticamente qué plantillas de campo se deben utilizar para representar la interfaz de usuario para mostrar y modificar los campos de datos. Las plantillas de campo son los controles de usuario que proporcionan los datos dinámicos para mostrar y modificar los campos de datos basados en sus tipos de datos intrínsecos. Para representar un tipo de datos, los datos dinámicos realizan una búsqueda a través del modelo de datos, buscando clases que tienen aplicado el atributo UIHintAttribute.

Si existe el atributo, especifica qué plantilla de campo se debe utilizar para mostrar y modificar un tipo de campo de datos determinado. Si no existe ningún atributo, los datos dinámicos buscan una plantilla de campo cuyo nombre coincida con el tipo de campo de datos. Por ejemplo, para mostrar un valor entero, los datos dinámicos buscan una plantilla de campo denominada Integer.ascx. Para obtener más información, vea Información general sobre las plantillas de campos de datos dinámicos de ASP.NET.

Los datos dinámicos permiten personalizar y ampliar la interfaz de usuario que se representa para mostrar y modificar campos de datos. Se pueden aplicar las siguientes posibles personalizaciones:

Validar campos de datos

Los datos dinámicos admiten la validación de campos de datos basada en el modelo de datos que incluye los siguientes tipos de validación:

  • Validación de campo obligatorio. Si un campo de datos no puede ser null, los datos dinámicos exigen que se proporcione un valor para el campo.

  • Validación de longitud. Si un campo de base de datos es una cadena, los datos dinámicos exigen la longitud máxima del campo.

  • Validación de tipo. Los datos dinámicos exigen que el valor de entrada del usuario coincida con el tipo de datos intrínseco de un campo de datos.

Lo datos dinámicos permiten personalizar y ampliar la validación de campos de datos de este modo:

  • Utilizando atributos. Debería utilizar este enfoque si desea aplicar una validación adicional a la que ya proporcionan los datos dinámicos, y los atributos System.ComponentModel.DataAnnotations predeterminados son suficientes para satisfacer sus requisitos.

  • Utilizando métodos de clase parcial. Puede personalizar la validación y agregar su propia lógica empresarial invalidando métodos parciales que procesan los cambios que se realizaron en los campos de datos. Debería utilizar este enfoque si desea agregar lógica empresarial común a su modelo de datos que no pueda ser controlada mediante atributos.

Para obtener más información, vea Cómo: Personalizar la validación de campos de datos en el modelo de datos.

Información adicional

Para obtener más información sobre los datos dinámicos, vea los temas siguientes:

Volver al principio

Vea también

Tareas

Tutorial: Agregar datos dinámicos a un sitio web existente

Tutorial: Agregar datos dinámicos a un sitio web existente

Conceptos

Información general sobre las plantillas de campos de datos dinámicos de ASP.NET

Información general sobre la plantilla de página y la técnica scaffolding de datos dinámicos de ASP.NET

Información general sobre los datos dinámicos de ASP.NET

Referencia

System.ComponentModel.DataAnnotations

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Se ha agregado un tema.

Cambio de características de SP1.