Blog del CIIN

Blog del Centro de Innovación en Integración de Cantabria

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

Enlaces Recomendados

ASP.NET Dynamic Data: Scaffolding!

En este post y en los siguientes os vamos a presentar una de las grandes novedades de .NET Framework 3.5 SP1 y Visual Studio 2008 SP1: ASP.NET Dynamic Data. Esta tecnología nos proporciona toda la infraestructura necesaria para crear aplicaciones web dinámicas basadas en un modelo de datos de ADO.NET Entity Framework (ADO.NET EF) o de LINQ To SQL (Nota: Proporciona scaffolding sobre el modelo). En nuestro caso, utilizaremos un EDM de ADO.NET EF. Empecemos.

Primeros pasos con ASP.NET Dynamic Data

Para probar la funcionalidad de ASP.NET Dynamic Data seguiremos los siguientes pasos:

  • Creamos en primer lugar un proyecto Web de Visual Studio 2008 de tipo Dynamic Data Entities Web Application (Nota: Para LINQ To SQL elegiríamos Dynamic Data Web Application).
  • Tras pulsar OK, veremos que se nos crea toda la infraestructura necesaria para generar interfaces de usuario dinámicas a partir del modelo (de datos o de entidades) que definamos. Se trata de una aplicación web centrada en datos formada por una serie de plantillas de páginas y campos que aportan el carácter dinámico de una aplicación ASP.NET Dynamic Data.
  • Una vez creado el proyecto de ASP.NET Dynamic Data, tenemos que crear el modelo en el que se apoya. Como se ha comentado, se trata de un EDM de ADO.NET EF. Vamos a crear un modelo basado en la base de datos (BD) AdventureWorksLT. Añadimos un nuevo elemento a nuestro proyecto de tipo ADO.NET Entity Data Model.
image image image

Para crear el EDM seguimos los siguientes pasos:

  • Creamos la cadena de conexión a la BD AdventureWorksLT.
  • Especificamos un nombre para la cadena de conexión: AdventureWorksContext.
  • Elegimos todas las tablas de AdventureWorksLT exceptuando la tabla BuildVersion:
image image image

Una vez creado el EDM, tenemos que conectarlo con la aplicación Dynamic Data que hemos creado. Para ello, abrimos el archivo Global.asax del proyecto y descomentamos y actualizamos la línea siguiente:

            model.RegisterContext(typeof(AdventureWorksContext),

                new ContextConfiguration() { ScaffoldAllTables = true });

De esta forma:

  • Estamos registrando nuestro EDM en nuestra aplicación ASP.NET Dynamic Data.
  • Especificamos que el atributo ScaffoldAllTables tenga el valor True, de manera que permitimos que todas las tablas de nuestro modelo tengan una plantilla asociada. Si quisiéramos tener sólo plantillas para ciertas tablas del modelo, tendríamos que crear una clase parcial para estas tablas y aplicar el atributo [Scaffold(true)] en su definición.

Sin más, ejecutamos la aplicación para ver que obtenemos:

  • En primer lugar, se muestra una página principal en la que se listan todas las tablas del EDM subyacente.
  • De nuevo en la página de detalle de la categoría tenemos soporte completo para operaciones CRUD sin necesidad de tener que escribir ningún tipo de código de acceso a datos.
  • Una duda que surge en torno a ASP.NET Dynamic Data es relativa a sí se está usando generación de código o no. La respuesta es que no, puesto que se están usando una serie de plantillas ASP.NET que renderizan de manera dinámica las páginas para cada entidad del modelo. Lógicamente, tendremos una plantilla para cada estado posible de un registro, y esto es lo que da el soporte CRUD comentado.
image image image

Además de las plantillas de páginas, tenemos una serie de plantillas a nivel de campo que permiten renderizar campos individuales en cada página. Hay una serie de plantillas para distintos estados (edición, inserción), que son user controls, preparadas para renderizar un cierto tipo de datos. Además, tendremos plantillas que no mapean tipos CLR, sino que se utilizan para los campos de tipo Foreing Key.

 

image 

Y hasta aquí llega este primer post sobre ASP.NET Dynamic Data. Espero que os haya resultado interesante.

Published 7/11/2008 0:30 por Juan Carlos González Martín

Comparte este post:

Comentarios

# начинка шкафа купе@ Saturday, February 26, 2011 11:55 PM

В прошлом месяце со своей женой наконец-то закончили ремонт и подумали о приобретении новой мебели для спальни, например, такого важного предмета мебели и интерьера как [url=http://shkafy.com/photo/">http://shkafy.com/photo/]шкафы купе фото[/url]. Поразмыслили насчет нового приобретения и осознали, что не можем дать ответ на некоторые вопросы, вызванные нашим решением. Без опыта (пусть даже и чужого), как говорится, никуда! помогите советом! Как нам выбрать шкаф, и какие параметры лучше учитывать при покупке? На что надо ориентироваться, покупая шкаф в магазине? Или, может, его все-таки заказать? какие комплектующие и материалы предпочесть? Для меня эти все и многие другие нюансы являются неразрешимой загадкой. помимо этого интересны [url=http://shkafy.com/]шкафы купе[/url]. в каком случае выбор шкафа купе будет намного разумнее, чем выбор простого шкафа? мы хотели бы услышать рекомендации людей, которые купили шкаф и могли бы дать какой-то совет. Буду очень благодарен за ваши рекомендации.благодарю!

Wrorbvof