Ya es oficial… LINQ to SQL es obsoleto

Hace unos meses decidi hacer un experimento en casa, se trataba de combinar (y asi practicar) el uso de SQL Server 2008, Windows Presentation Foundation y… LINQ to SQL. El proyecto consistia en meter en una Base de Datos el grueso de mi coleccion de MP3, sus posiciones relativas al Ranking de Doble9, y mediante LINQ (en vez de T-SQL) efectuar las respectivas consultas.

Pues si, el experimento ha funcionado bien a efectos de las consultas, no tanto a nivel de WPF, pues…. como buen ingeniero a veces fallamos en la parte de la estetica y la funcionalidad, pero el caso es que mejor hubiera sido al reves (al menos ya lo tengo todo en SQL Server) pues hoy gracias a Directions on Microsoft me vengo a enterar que Microsoft ha decidido reemplazar LINQ to SQL por el ADO.NET Entity Framework, que si.. que seguira funcionando pero no se beneficiara de las innovaciones que vaya desarrollando Microsoft.

En parte tiene sentido el movimiento, cuando empece con mis primeras pruebas una de las primeras cosas que intente fue ver si era capaz de conectarse a Oracle, lo cual… no era posible, y por ahi salian las recomendaciones de que eso debia de hacerse mediante el Entity Framework, y claro.. entre trabajar un API que solo te permite conectarte a una BD (por mas de que sea la mejor) y otra mas abierta… las cosas caen por su peso.

LINQ to SQL debuted with LINQ in the .NET Framework 3.5 in 2007. LINQ is a set of APIs and programming language features that enable data access queries to be written in programming languages such as C# and Visual Basic, rather than treated as text data. LINQ simplifies data access code and enables the developer to use the Visual Studio tools, such as the compiler and IntelliSense command completion, to help write queries. At its launch, LINQ supported a variety of data sources, including in-memory data objects and XML documents, and the Microsoft C# team had built a stopgap LINQ connector to SQL Server—LINQ to SQL.

However, when LINQ to SQL shipped, the Microsoft data access team had already begun work on the ADO.NET Entity Framework, a more general data access technology that provides LINQ connectivity to SQL Server and other database management systems, including Oracle and IBM DB2. When the Entity Framework was introduced with the .NET Framework 3.5 SP1 in July 2008, LINQ to SQL became largely redundant.
…….
Microsoft has begun publishing documentation for migrating applications from LINQ to SQL over to the Entity Framework. Migration is manual, and both application-side LINQ code and data access code might have to change. Furthermore, the Entity Framework itself is due for major changes, some designed to simplify migration from LINQ to SQL and address requests from LINQ to SQL developers. Consequently, developers who have existing LINQ to SQL applications might want to wait for the next version of the Entity Framework, due in late 2009 with the .NET Framework 4, before attempting a migration.

Creo que sera buena idea estar pendiente de las betas para saber como va evolucionando el Entity Framework, asi que … mi experimento sigue sin terminar 😉

SQL Server 2008… ya disponible!!

Para variar gracias a El Bruno me entero que al fin esta disponible la version oficial de SQL Server 2008, concretamente la edicion RTM (Ready To Manufacture) ya se puede descargar desde las cuentas de Technet y MSDN Subscriptions, que es lo que he hecho esta mañana. Me imagino que la version “en cajita” todavia debera esperar unas semanas.

Ahora toca desinstalar la version beta que tenia y seguir trabajando con mi gestor personalizado de MP3, ya veremos que tal se comporta recuperando el respectivo backup.

Gracias a un correo de las Communities de Avanade que recibi esta mañana tengo las nuevas caracteristicas para desarrolladores que incluye esta version:

– Mejoras en SQL Management Studio incluyendo IntelliSense.
– Nuevos Tipos de Datos para solo fechas o solo horas (se acabo el almacenar la hora cuando solo necesitabas la fecha)
– Nuevo soporte a datos jerarquicos.
– Nuevas funciones de Agrupamiento.
– Nueva funcion Merge que permite una semantica de insert/update para mantener multiples fuentes de datos en sincronia
– Nuevo atributo FileStream attribute que permite incluir archivos que son almacenados en el sistema de archivos, pero que pueden ser manejados por SQL Server
– Nuevos tipos de datos y soporte para Geodata y geometria
– Nuevo soporte para optimizar las columnas o filas “vacias” mediante la palabra reservada “sparse”

Pues nada.. a actualizar se ha dicho!!