Sei sulla pagina 1di 5

LINQ

Tutorial: Crear un nuevo sitio web de datos dinmicos con la tcnica scaffolding

La palabra Scaffold est en ingls y en espaol significa Andamio, pero en programacin el scaffolding es un mtodo para contruir aplicaciones basadas en bases de datos, esta tcnica est soportada por algunos frameworks del tipo MVC en el cul el programador escribe una especificacin que describe cmo debe ser usada la base de datos. Luego el compilador utiliza esa especificacin para generar el cdigo que la aplicacin usar para crear, leer, actualizar y eliminar registros de la base de datos, esto es conocido cmo CRUD (create, read, update, delete).El Scaffolding fue popularizado por el framework Ruby on Rails y ahora es utilizado por otros frameworks tambin cmo CakePHP, Symfony. .NET Framework 4 En este tutorial se muestra cmo crear un sitio web bsico que usa los datos dinmicos de ASP.NET. Los datos dinmicos permiten crear un sitio web controlado por datos con poca o ninguna codificacin. Una caracterstica importante de los datos dinmicos es el marco de trabajo de scaffolding. Cuando el scaffolding est habilitado en un sitio web de datos dinmicos, ASP.NET analiza el modelo de datos de la aplicacin y genera dinmicamente pginas web basadas en los datos del modelo de datos. Estas pginas web generadas automticamente proporcionan la capacidad de mostrar, insertar, eliminar y editar datos para cada tabla. Existe un proyecto de sitio web de Visual Studio con cdigo fuente disponible para este tema: Basic Dynamic Data Web Site with Scaffolding. Puede ver un vdeo en el que se muestra esta caracterstica: Ver. Requisitos previos Para poder completar este tutorial, necesitar: Microsoft Visual Studio 2010 o Visual Web Developer 2010 Express.

La base de datos de ejemplo AdventureWorksLT. Para obtener ms informacin, vea Cmo: Conectarse a la base de datos AdventureWorksLT utilizando un archivo .MDF.

Crear un sitio web de datos dinmicos Puede crear sitios web de datos dinmicos en Visual Studio usando plantillas de datos dinmicos de ASP.NET. Antes de continuar, debe decidir si desea crear un proyecto de sitio web o un proyecto de aplicacin web. Para obtener ms informacin, vea Proyectos de aplicacin web frente a proyectos de sitio web. Siga los pasos del procedimiento adecuado. La mayora de los pasos que se siguen para crear una aplicacin web de datos dinmicos que usa scaffolding son iguales para los proyectos de sitio web que para los proyectos de aplicacin web. Sin embargo, hay algunos pasos diferentes dependiendo de qu tipo de proyecto se est usando. Para crear un proyecto de sitio web de datos dinmicos 1. Inicie Visual Studio o Visual Web Developer. 2. En el men Archivo, haga clic en NuevoSitio Web. Aparecer el cuadro de dilogo Nuevo sitio web. 3. En Plantillas instaladas, en el recuadro izquierdo, seleccione Visual Basic o Visual C#. 4. En el recuadro central, seleccione una de las siguientes opciones: o Para usar el modelo de LINQ to SQL, seleccione Sitio web de LINQ to SQL de datos dinmicos de ASP.NET. o Para usar el modelo de ADO.NET Entity Framework, seleccione Sitio web de entidades de datos dinmicos de ASP.NET. Para obtener ms informacin, vea Personalizacin del nivel de datos dinmicos de ASP.NET. 5. En el cuadro Ubicacin web, seleccione Sistema de archivos y, a continuacin, escriba el nombre de la carpeta donde desea guardar las pginas del sitio web. Por ejemplo, escriba el nombre de carpeta C:\WebSites\DynamicData. 6. Haga clic en Aceptar.

Visual Studio crea el sitio web. O bien, puede crear un proyecto de aplicacin web como se muestra en el procedimiento siguiente. Para crear un proyecto de aplicacin web de datos dinmicos 1. Inicie Visual Studio o Visual Web Developer. 2. En el men Archivo, haga clic en Nuevoproyecto. Aparecer el cuadro de dilogo Nuevo proyecto. Antes de avanzar al paso siguiente, debe decidir el modelo de datos que desea usar. Para obtener ms informacin, vea Personalizacin del nivel de datos dinmicos de ASP.NET. 3. En Plantillas instaladas, en el recuadro izquierdo, expanda el men de seleccin Visual Basic o Visual C#. 4. Seleccione Web. 5. En el recuadro central, seleccione una de las siguientes opciones: o Para usar el modelo de LINQ to SQL, seleccione Aplicacin web de LINQ to SQL (datos dinmicos ASP.NET). o Para usar el modelo de ADO.NET Entity Framework, seleccione Aplicacin web (entidades de datos dinmicos ASP.NET). 6. En el cuadro Nombre, escriba el nombre de la aplicacin. 7. En el cuadro Ubicacin, escriba el nombre de la carpeta donde desea guardar las pginas de la aplicacin web. Por ejemplo, escriba el nombre de carpeta C:\WebSites\DynamicData. 8. Haga clic en Aceptar. Visual Studio crea el sitio web.

Agregar datos al sitio web El paso siguiente consiste en agregar una base de datos al proyecto. Ms tarde usar la base de datos para crear un contexto de datos (clases que representen entidades de la base de datos) y, a continuacin, registrar el contexto de datos para que lo usen los datos dinmicos. Para agregar el archivo de base de datos al proyecto 1. En el Explorador de soluciones, haga clic con el botn secundario en la carpeta App_Data y despus haga clic en Agregar elemento existente. Se mostrar el cuadro de dilogo Agregar elemento existente. 2. Escriba la ubicacin en la que instal el archivo de base de datos de AdventureWorksLT (AdventureWorksLT_Data.mdf). Nota Este procedimiento crear una copia del archivo de base de datos en el proyecto. Si no resulta prctico realizar una copia de la base de datos, puede conectarse a ella con un mtodo alternativo, como asociar directamente el archivo de base de datos. Sin embargo, el procedimiento para esto no se cubre en este tutorial. El paso siguiente consiste en crear el modelo de datos. El procedimiento vara ligeramente dependiendo de si desea utilizar LINQ to SQL o ADO.NET Entity Framework para crear el modelo de datos. Use el procedimiento aplicable al modelo de datos que desea crear. Para crear el modelo de datos utilizando LINQ to SQL 1. Si est usando un proyecto de sitio web y el sitio web no tiene todava una carpeta App_Code, en el Explorador de soluciones, haga clic con el botn secundario en el proyecto, haga clic en Agregar carpeta ASP.NET y, a continuacin, haga clic en App_Code.Haga clic con el botn secundario del mouse en la carpeta App_Code y, a continuacin, haga clic en Agregar nuevo elemento. 2. Si est usando un proyecto de aplicacin web, en el Explorador de soluciones, haga clic con el botn secundario en el proyecto, haga clic en Agregar y, a continuacin, haga clic en Nuevo elemento. 3. En Plantillas instaladas, en el recuadro izquierdo, realice una de las acciones siguientes: o Si est usando un proyecto de sitio web, seleccione Visual Basic o Visual C#. o Si est usando un proyecto de aplicacin web, expanda el men Visual Basic o Visual C# y, a continuacin, seleccione Datos. 4. En el recuadro central, haga clic en Clases de LINQ to SQL. 5. En el cuadro Nombre, escriba un nombre para el modelo de base de datos. Por ejemplo, escriba el nombre AdventureWorksLT.dbml. 6. Haga clic en Agregar. Se muestra Object Relational Designer.

7. 8.

En Object Relational Designer, haga clic en el vnculo Explorador de servidores (Explorador de bases de datos en Visual Web Developer). En el Explorador de servidores (Explorador de bases de datos), en Conexiones de datos, expanda el nodo de archivos de base de datos y, a continuacin, el nodo Tablas.

Nota Si el nodo de archivo de base de datos no existe, en el Explorador de soluciones, haga doble clic en el archivo de base de datos. Esto crear una conexin a la base de datos y el nodo de archivo se mostrar en el Explorador de servidores. 9. 10. 11. Arrastre todas las tablas a Object Relational Designer. Cada tabla se representa como una entidad con el nombre de la tabla de base de datos correspondiente. Guarde el archivo AdventureWorksLT.dbml. En el Explorador de soluciones, abra el archivo AdventureWorksLT.designer.cs o AdventureWorksLT.designer.vb que se encuentra bajo el nodo del archivo .dbml. Observe que el archivo .dbml contiene la clase AdventureWorksLTDataContext que representa la base de datos. Tambin contiene clases de entidad, como las clases Employee y Product, que representan tablas de base de datos. El constructor de la claseAdventureWorksLTDataContext lee la cadena de conexin del archivo Web.config. Abra el archivo Web.config. Observe que el elemento connectionStrings contiene la cadena de conexin a la base de datos AdventureWorksLT. Cierre el archivo de clase y el archivo Web.config.

12.

13.

Para crear el modelo de datos usando Entity Framework 1. Si est usando un proyecto de sitio web y el sitio web no tiene todava una carpeta App_Code, en el Explorador de soluciones, haga clic con el botn secundario en el proyecto, haga clic en Agregar carpeta ASP.NET y, a continuacin, haga clic en App_Code.Haga clic con el botn secundario del mouse en la carpeta App_Code y, a continuacin, haga clic en Agregar nuevo elemento. Si est usando un proyecto de aplicacin web, en el Explorador de soluciones, haga clic con el botn secundario en el proyecto, haga clic en Agregar y, a continuacin, haga clic en Nuevo elemento. En Plantillas instaladas, en el recuadro izquierdo, realice una de las acciones siguientes: o Si est usando un proyecto de sitio web, seleccione Visual Basic o Visual C#. o Si est usando un proyecto de aplicacin web, expanda el men Visual Basic o Visual C# y, a continuacin, seleccione Datos. En el recuadro central, haga clic en Entity Data Model de ADO.NET. En el cuadro Nombre, escriba un nombre para el modelo de base de datos. Por ejemplo, escriba el nombre AdventureWorksLT.edmx. Haga clic en Agregar. Se muestra la ventana Asistente para Entity Data Model. Seleccione Generar desde la base de datos y, a continuacin, haga clic en Siguiente. Se muestra la ventana Asistente para Entity Data Model. En Qu conexin de datos debera utilizar la aplicacin para conectarse a la base de datos?, seleccione AdventureWorksLT_Data.mdf en la lista. Asegrese de que est activada la casilla Guardar configuracin de conexin de entidad en Web.Config como. Puede dejar el nombre predeterminado de la cadena de conexin. Haga clic en Siguiente. El asistente muestra una pgina en la que puede especificar qu objetos de base de datos desea incluir en el modelo. Elija el nodo Tablas para seleccionar todas las tablas de la base de datos. Puede dejar el espacio de nombres del modelo predeterminado. Haga clic en Finalizar. Se muestra ADO.NET Entity Data Model Designer. Cierre el diseador. En el Explorador de soluciones, abra el archivo AdventureWorksLT.designer.cs o AdventureWorksLT.designer.vb que se encuentra bajo el nodo del archivo .edmx.

2. 3.

4. 5. 6. 7. 8. 9. 10.

11. 12. 13.

Observe que el archivo .edmx contiene la clase AdventureWorksLT_DataEntities que representa la base de datos. Tambin contiene clases de entidad que representan tablas de base de datos. 14. Abra el archivo Web.config. Observe que el elemento connectionStrings contiene la cadena de conexin a la base de datos AdventureWorksLT. 15. Cierre el archivo de clase y el archivo Web.config.

El paso siguiente es registrar el contexto de datos para que lo usen los datos dinmicos. Para registrar el contexto de datos 1. 2. 3. Abra el archivo Global.asax. Quite la marca de comentarios de la lnea que contiene el mtodo DefaultModel.RegisterContext. Establezca el tipo de contexto adecuado y la variable ScaffoldAllTables en true. Si est usando el modelo de LINQ to SQL, emplee el cdigo siguiente: VB Defaultmodel.RegisterContext(GetType(AdventureWorksLTDataContext), _ New ContextConfiguration() With {.ScaffoldAllTables = True}) C# DefaultModel.RegisterContext(typeof(AdventureWorksLTDataContext), new ContextConfiguration() { ScaffoldAllTables = true }); Si est usando el modelo de Entity Framework, use el cdigo siguiente: VB Defaultmodel.RegisterContext(GetType( _ AdventureWorksLT_DataEntities), _ New ContextConfiguration() With {.ScaffoldAllTables = True}) C# DefaultModel.RegisterContext(typeof(AdventureWorksLT_DataEntities), new ContextConfiguration() { ScaffoldAllTables = true }); Esto registra el contexto de datos para que lo usen los datos dinmicos y habilita la funcin de scaffolding para el modelo de datos. Nota sobre la seguridad Habilitar la funcin de scaffolding (establecer la variable ScaffoldAllTables en true) puede suponer un riesgo para la seguridad, ya que expone todas las tablas del modelo de datos a operaciones de presentacin y edicin. Para obtener ms informacin, vea Scaffolding de datos dinmicos de ASP.NET. 4. Guarde y cierre el archivo Global.asax.

Probar el sitio web de datos dinmicos Ahora puede probar el sitio web de datos dinmicos que acaba de crear. Para probar el sitio Web 1. En el Explorador de soluciones, haga clic con el botn secundario en la pgina Default.aspx y, a continuacin, haga clic en Ver en el explorador. La pgina muestra una lista que contiene las tablas que agreg al modelo de datos. 2. Haga clic en una de las tablas. Por ejemplo, haga clic en la tabla Products. Se muestra una pgina que contiene los datos de la tabla que seleccion. Para las tablas que contienen campos de clave externa, se proporciona un vnculo a la pgina de detalles de la tabla a la que se hace referencia. Si la tabla es una tabla primaria de una relacin de uno a varios, se facilita un vnculo a la pgina de lista de la tabla secundaria. 3. Haga clic en el botn Eliminar para quitar un registro de la tabla. 4. Haga clic en los nmeros de pgina para navegar por los registros. 5. Haga clic en el botn Editar para modificar un registro de la tabla. 6. Cambie los valores y, a continuacin, haga clic en Actualizar o bien haga clic en Cancelar para cancelar la operacin de edicin. 7. En la parte inferior de la pgina, haga clic en el botn Insertar nuevo elemento para crear un nuevo registro. Se muestra una pgina que contiene campos de entrada de datos. 8. Facilite la informacin del nuevo registro y, a continuacin, haga clic en Insertar o en Cancelar para cancelar la operacin de insercin. 9. Cuando finalice, cierre el explorador.

Potrebbero piacerti anche