Actualizados el training kit para .NET Framework 3.5 SP1 y Visual Studio 2008 SP1!

Microsoft acaba de liberar una versión actualizada de los training kit para el SP1 de .NET Framework 3.5 y Visual Studio 2008. En esta nueva versión dispondremos de versiones actualizadas al SP1 de las presentaciones, hand-on labs, demostraciones y otras características  que nos permitan explorar a fondo las novedades de .NET Fx 3.5 SP1 y Visual Studio 2008 SP1. Podéis encontrar más detalles del contenido de los kits en este enlace.

Podéis descargaros el .NET Fx 3.5 Enhancements Training Kit en este enlace. Como veréis, se tratan de uns 100 MB de información que os permitirán probar características como el MVC, AJAX, ADO.NET EF, Visual Studio 2008 SP1, …

Actualizados los ejemplos + Proveedores de Terceros de ADO.NET Entity Framework!

Una de las novedades más importantes que forman parte de la reciente release del SP1 de .NET Framework 3.5 y Visual Studio 2008 es la inclusión de la RTM de la primera versión de ADO.NET Entity Framework (ADO.NET EF). Pues bien, el equipo de ADO.NET nos anuncia a través de su blog de que ya tenemos disponibles  la actualización de los ejemplos para la RTM de ADO.NET EF. Podéis acceder a los ejemplos y las correspondientes descargas en este enlace.

Además de la actualización de los ejemplos de ADO.NET EF, en otro post del blog del equipo de ADO.NET se anuncia los proveedores de terceros que se están desarrollando para la RTM de ADO.NET EF. Estos proveedores son:

  • Para los dos últimos trimestres de 2008, tendremos los siguientes proveedores:
    • Devart (formerly Core Lab) – Providing connectivity to Oracle, MySQL, PostgreSQL and SQLite databases.
    • Firebird – Providing connectivity to Firebird databases.
    • IBM – Providing connectivity to both IBM DB2 data server and Informix Dynamic Server (IDS) database.
    • Npgsql – Providing connectivity to PostgreSQL database versions 7.3+ and 8.x.
    • OpenLink Software – Providing connectivity to OpenLink Virtuoso, Oracle, Informix, Ingres, Sybase, MySQL, PostgreSQL, DB2, Progress and Microsoft SQL Server databases, and any data source accessible via OpenLink ODBC or JDBC bridge drivers.
    • Phoenix Software Solutions – Providing connectivity to SQLite databases.
    • Sun Microsystems – Providing connectivity to MySQL databases.
    • Sybase – Providing connectivity to SQL Anywhere databases.
    • VistaDB Software – Providing connectivity to VistaDB database.
  • Para principios de 2009 están previstos los siguientes proveedores:
    • Synergex – Providing connectivity to Synergy/DE databases.
  • Otros posibles:
    • DataDirect Technologies – Providing connectivity to multiple data stores including Oracle, Sybase, Microsoft SQL Server and DB2 via DataDirect Connect® for ADO.NET. 

SQL Server 2008: Mejoras para desarrolladores (III)!

Para concluir la serie de post sobre algunas de las mejoras que trae para los desarrolladores SQL Server 2008, en esta tercera entrega os voy a hablar de los GROUPING SETS (Nota: Puedes leer también las partes I y II de la serie). El operador GROUPING SETS es una extensión de la cláusula estándar GROUP BY del ANSI SQL 2006. Permite definir múltiples grupos en la misma consulta, lo que es particularmente útil cuando se quiere devolver sólo un subconjunto de datos de un cierto resultado. Como veremos, esta nueva cláusula habilita la definición en una misma columna grupos agregados sobre diferentes conjuntos de columnas de agrupamiento:

GROUB BY CLAUSE

RESULTS SETS

GROUP BY (col_A, col_B, col_C)

(col_A, col_B, col_C)

GROUP BY GROUPING SETS

((col_A, col_B), (col_A, col_C), (col_C))

(col_A, col_B)

(col_A, col_C)

(col_C)

Otras características de esta cláusula son:

  • Es como un UNION ALL de varias consultas con la cláusula GROUP BY que referencian diferentes partes del mismo conjunto de datos.
  • Más rápido y sencillo en consultas e informes.
  • Pueden ser concatenados para generar combinaciones de agrupamiento largas.

GROUB BY CLAUSE

RESULTS SETS

GROUP BY (col_A, col_B, col_C)

(col_A, col_B, col_C)

GROUP BY GROUPING SETS

(col_A, col_B) (col_C, col_D)

(col_A, col_C)

(col_A, col_D)

(col_B, col_C)

(col_B, col_D)

GROUPING SETS en acción

Vamos a comprobar cómo funciona este operador realizando la siguiente consulta sobre la BD Adventure Works:

select ST.Name as Territory,C.CustomerType,                                   

                               COUNT(*) as Sales

                               from Sales.Customer C

                               inner join Sales.SalesTerritory ST on

                               ST.TerritoryID=C.TerritoryID

                               GROUP BY GROUPING SETS (( ST.Name,C.CustomerType), ( ST.Name))

                               ORDER BY  ST.Name, C.CustomerType               

El resultado de ejecutar la sentencia anterior es el siguiente:

image

Como vemos, gracias a GROUPING SETS obtenemos los niveles de agrupación deseados y además nos devuelve el subtotal para cada subconjunto de agrupación. Y hasta aquí llega lo que os quería contar sobre novedades para desarrolladores en SQL Server 2008. Lógicamente, os he contado las novedades relativas a T-SQL, hay otras como LINQ y ADO.NET Entity Framework de las que ya se está hablando largo y tendido en Geeks.Ms. Espero que el post os haya resultado interesante.