ADO.NET Entity Framework: Actualizaciones en la documentación!

Microsoft acaba de realizar una serie de actualizaciones de la documentación de ADO.NET Entity Framework (ADO.NET EF) enfocadas a resolver preguntas frecuentes en el trabajo con entity keys, edición manual de edmx y otros aspectos:

Anuncios

Web Platform Installer: Disponible la RC!

Ya tenemos disponible para descarga la primera release candidate del Web Platform Installer. Se trata de una simple herramienta que instala todos los componentes de un entorno web típico Microsoft: IIS 7, Visual Studio Web Developer 2008 Express Edition, SQL Server Express Edition y .NET Framework. Por supuesto, el proceso de instalación nos permitirá elegir que componentes queremos instalar.

Podéis descargaros el instalador de este enlace.

CodeKeep Add-In para Visual Studio 2008!

Interesante Add-In para Visual Studio que facilita la gestión de nuestros code snippets y que nos facílita la búsqueda de otros sin tener que salirnos del entorno de Visual Studio 2008. Por ejemplo, el gestor y buscador de snippets tienen una apariencia interesante y útil:

My Snippets

Y el buscador de snippets tiene este otro aspecto:

Browse Snippets

 

Enlaces de descarga de CodeKeep:

Finalmente, podéis ver un screencast de uso de este Add-In en este enlace.

XNA Game Studio 3.0 ya está aquí!

Microsoft acaba de liberar la versión 3.0 de su entorno para desarrollo de juegos para la consola XBox 360, el reproductor Zune y en nuestro propio PC (funcionan perfectamente en Windows). La principal novedad de la nueva versión de XNA Game Studio 3.0 es el soporte de C# 3.0 y Visual Studio 2008, lo que permite que los desarrolladores de juegos vean incrementadas notablemente las posibilidades de desarrollo. Para descargaros el nuevo XNA Game Studio no tenéis más que acceder a la web de XNA Creators Club Online y descargaros el entorno. Respecto al resumen de capacidades de XNA Studio 3.0, os la resumo a continuación:

  • Integración con Visual Studio: Soporte de C# 3.0, LINQ y en la mayoría de las versiones de Visual Studio 2008.
  • Try Before You By: o lo que es lo mismo, los clientes pueden probar los juegos desarrollados antes de comprarlos.
  • Invitar a amigos, es decir, los desarrolladores pueden permitir a los jugadores que inviten a sus amigos a unirse al juego.
  • Desarrollo de juegos para Windows, XBox 360 y Zune.
  • Instalación del juego con un sólo click.
  • Distribución de juegos con un alto nivel de comprensión.

image

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.

Liberados los Microsoft Chart Controls para .NET Framework 3.5!

Basta con qué estés una semana “desconectado” de la comunidad tecnológica para encontrarte con un montón de novedades. La última viene de la mano de un anuncio realizado el 27 de octubre por el equipo de SQL Server Reporting Services. Se trata de la liberación de los Microsoft Chart Controls para .NET Framework 3.5 y aplicaciones de tipo ASP.NET y Windows Forms. Se trata de una serie de controles en formato stand-alone que se pueden integrar de manera sencilla en aplicaciones ASP.NET y Windows Forms y de forma similar a como se añaden gráficos en SQL Server Reporting Services 2008. La verdad es que los controles tienen muy buena pinta, y si no, judgad vosotros mismos:

Subset of available chart 
types

Enlaces importantes:

Nuevo Npgsql’s ADO.NET Provider para PostgreSQL con soporte para ADO.NET Entity Framework!

Parece que los fabricantes de software siguen trabajando a todo tren en crear nuevos proveedores para ADO.NET Entity Framework que permitan utilizar esta tecnología sobre motores de bases de datos existentes. en este caso, Npgsql ha liberado la versión 2.0 de su proveedor de ADO.NET para PostgreSQL. La novedad de esta versión es que incluye soporte para ADO.NET EF. Para más información podéis consultar este post del equipo de ADO.NET EF y este enlace de la web PgFoundry.