Rendimiento de linq frente a ado.net en páginas web

Preguntado hace 1 año

Julián Mur
Votos
PositivosNegativosTotal
3 0 3
57 Visualizaciones
Compártelo: Compártelo en twitterCompártelo en Facebook

Buenas, empiezo proyecto y también aprovechamos para cambiarnos a asp.net 3.5. En la versión anterior no existía linq, de modo que usábamos un orm casero que a través de reflection convertía los registros en objetos .net.

Valoramos cambiarnos a linq, al que le vemos ventajas indudables: la detección de errores sql en tiempo de compilación y un orm no casero. Entedemos que las sentencias sql que genera están optimizadas, aunque nos preocupa que no estén bajo control total.

Por otro lado, entendemos que hay que carga el esquema total, ¿se carga por cada sesión, entero? ¿a nivel de aplicación? ¿qué coste tiene en el rendimiento? Supongo que para aplicaciones de formularios windows será muy cómodo y el rendimiento será muy similar a otros métodos, pero ¿en aplicaciones web no tiene una penalización esa carga del esquema?

Saludos.

Actualizando datos

2 Respuestas

Hace 1 año

Juan Quijano
Votos
PositivosNegativosTotal
202

Buenas,

Maticemos. Si estás trabajando en .NET la combinación EF4.0 + Linq es imbatible tanto en redimiento como en facilidad de uso. en 3.5 tengo entendido que nhibernat vá muy bien. Quitando la curva de aprendizaje que es bastante dura.

Sobre la carga. Lo que se carga en el contexto es la descripción del esquema, no los datos. Hasta que no invocas específicamente los datos, no se los trae de la base de datos por lo cual, y por experiencia, te puedo asegurar que el rendimiento sigue siendo igual de alto mientras que la facilidad de uso, en comparación con ADO.NET, es muchísima más alta.

En resumen, si trabajas en .NET (no momo) linq es el lenguaje natural de explotación de datos.

Cerrar

Hola, Juan, me refería a la carga del contexto, imagínate el caso de un formulario que sólo necesite cargar un solo obejto-fila en toda su vida útil. En el caso linq habría que cargar el contexto ¿completo? Por ahí van mis dudas, muchas gracias por compartir tu experiencia. Julián Mur hace 1 año

Hace 1 año

tomeuCabrer
Votos
PositivosNegativosTotal
101

No sabría responder a tu pregunta ya que frente a la opción de utilizar LINQ o no he decidido no utilizarlo ya que aun no está portado a Mono y a decir verdad para mi una rápida migración a Mono es crucial en un futuro a corto o medio plazo. Si programo en .NET y me gusta mucho pero me da miedo adaptarme más rápido de lo que lo hace Mono.

Cerrar

Tu respuesta

Confirmación

Cerrar

Si sales ahora, perderás los cambios. ¿Estás seguro de querer salir?

Para participar en Babelias, debes estar convenientemente validado. Si ya eres usuario inicia sesión, si no lo eres, te puedes registrar.

Dar una respuesta

Trata de ser descriptivo, usa al menos 25 caracteres