Continuando con los post acerca de anotaciones en Silverlight, en este post vamos a trabajar acerca de las anotaciones usando WCF RIA SERVICE para quienes no lo conocen es una especie de template que nos ayuda automatizando el proceso para generar aplicaciones en Silverlight.
Iniciamos creando un proyecto Silverlight Business Application
Luego en la solución web que nos fue creada vamos a agregar una carpeta donde crearemos el modelo de base de datos
Creamos el modelo
Si no sabes como hacer esto por favor revisar nuestro segundo post acerca de wcf ria service, Luego de tener generado nuestro modelo
Vamos a crear el servicio para comunicar los datos con el cliente Silverlight
Para ello vamos a usar un tipo de elemento llamado DomainService
Al dar clic en adicionar nos muestra el siguiente cuadro de dialogo
Nos aseguramos que este marcada la opción “Generate Associated Classes for metadata” de esta forma podremos usar las anotaciones damos clic en o y continuamos
El sistema nos entrega una clase lista para realizar las anotaciones
Con los mismos campos disponibles en la tabla estudiante.
Vamos a marcar el campo código para que no sea autogenerado cuando se muestre en controles como Datagrids, Listbox, DataForms etc…
Recompilamos la solución…… y agregamos un DataGrid para realizar la prueba
Recompilamos y y creamos el código para llenar el DataGrid
Lo corremos :
Y vemos como solo nos muestra la columna de Estudiantes.
Ahora si queremos que en lugar de estudiantes diga nombres hacemos lo siguiente:
Y al correr la aplicación veremos:
Vemos el poder de las anotaciones.
Otras Data anotaciones disponibles son:
Required | Indica que el campo es requerido cuando se va a realizar una inserción |
RegularExpression | Se valida contra una expresión regular |
ReadOnly | El campo en el cliente Silverlight será de solo lectura |
Range | El numero dado debe encontrarse en un rango determinado |
Exclude | El campo marcado con este atributo no se mostrara en el cliente Silverlight |
Include | Con esta instrucción se pueden incluir campos para ser mostrados en el cliente Silverlight |
CustomValidation | Se define una clase construida por nosotros para realizar una validación especifica |
Otros tipos de anotaciones se pueden encontrar en este link.