Saltar al contenido

LINQ a SQL frente a ADO.Net

Posterior a consultar con expertos en esta materia, programadores de diversas ramas y maestros hemos dado con la solución al problema y la compartimos en esta publicación.

Solución:

ADO.NET es la API de acceso a datos subyacente para .NET Framework (al igual que JDBC en Java). Ha existido desde la primera versión de .NET.

LINQ to SQL es un marco de acceso a datos basado en ADO.NET y nuevas funciones de lenguaje que hacen que los datos de SQL Server estén disponibles de forma nativa en el estilo de programación orientado a objetos.

Debe comenzar con el entendimiento de que LINQ es el paradigma previsto de Microsoft para consultar todo tipo de datos estructurados de forma declarativa con una herramienta: piense en “Un anillo para gobernarlos a todos”. LINQ to SQL es solo la primera manifestación, implementada para consultar bases de datos relacionales.

De hecho, Microsoft tiene una mixed mensaje sobre la relación de LINQ con SQL. Creo que el problema es que se ha entendido como un sustituto de otras estrategias de abstracción, y ahora a menudo se lo ve como una forma de que los programadores eviten la necesidad de convertirse en expertos en SQL.

ADO.Net trata la programación orientada a objetos como lo que es, y los datos relacionales como lo que son, y espera que haga cada uno correctamente en sus propios términos.

Las ventajas y desventajas de los dos están abiertas a debate. Pero si está de acuerdo en que los magos de la informática de Microsoft han ideado algo así como una súper abstracción para la consulta de datos estructurados, entonces probablemente querrá avanzar en esta dirección. Hay algunos indicios de que otros proveedores de productos de software están dispuestos a seguirles el juego, por lo que es posible que ni siquiera termine siendo totalmente propietario, lo que sería bueno.

Hay un conjunto bastante grande de diferencias entre estas dos tecnologías que no se pueden cubrir en una breve publicación de SO, pero intentaré cubrir los aspectos más destacados.

  • En Linq2Sql, escribe sus consultas en objetos de memoria. Debajo del capó, sin embargo, el código que escribe se traduce a árboles de expresión y se traduce aún más a SQL en el tiempo de ejecución donde realmente se ejecuta la consulta. En ADO.Net, crea directamente consultas SQL que se ejecutan en el servidor.
  • Linq2Sql tiene soporte de lenguaje directo en C# y VB.Net. ADO.Net proporciona soporte para string consulta basada que tiene 0 soporte de idioma que no sea solo un crudo string.
  • El soporte de idiomas en Linq2Sql hace que las consultas sean seguras. En ADO.Net, todos los resultados de las consultas deben convertirse al tipo apropiado, lo que esencialmente elimina las comprobaciones de seguridad de tipos.

Si haces scroll puedes encontrar las observaciones de otros creadores, tú además eres capaz mostrar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *