none
¿Linq o StoreProcedure?

    Pregunta

  • Saludos expertos Programadores...

    Mi duda es la siguiente, vi en ya varios articulos y blogs el funcionamiento de la libreria Linq de asp.net, que porcierto es muy interesante ahora bien cual los pros y contras de utilizarla en vez de un StoreProcedure por asi decirlo...

    Si en caso que quisiera mostrarle al usuario una tabla, de articulos segun categoria, veo que se lo puede hacer de muchas formas, pero las mas simples creo y esto a nivel datos seria por ejemplo A) invocando un StoreProcedure enviando un parametro que en este caso refiere a la categoria, donde el store procedure me devolvera los datos filtrados, esto en la BBDD y la opcion B) mediante linq invocando tal vez el mismo store procedure pero sin enviarle ningun parametro lo cual me devuelve practicamente la tabla entera con todos los registros y filtrarlos luego mediante linq segun la categoria en el formulario. Cual de estos metodos es mejor y porque?

    Gracias de antemano. 

    jueves, 23 de febrero de 2012 14:41

Respuestas

  • el funcionamiento de la libreria Linq de asp.net,

    linq no tiene una relacion con asp.net o al menso no existe ningun linq to asp.net

    existen linq to object, linq to dataset, linq to xml, lint to sql, pero linq to asp.net no existe

    recuerda que linq trabja con colecciones o listas de datos, asp.net no es ninguna de estas

    si puede usar linq dentro de asp.net en el codigo .net

    que porcierto es muy interesante ahora bien cual los pros y contras de utilizarla en vez de un StoreProcedure por asi decirlo

    y el pro es que te agiliza muchisim el codigo al hacer el meapeo de tablas contra objeto de forma directa

    quizas como un control se podria decir que sino lo usas de forma correcta podrias geenrar problemas de performance en tu aplicacion

    puede tomar ambos caminos, pero el B que planteas esta incorrecto

    puede mapear un procedure a linq to sql y pasarle parametro para filtrarlo, no necesariamente debes recuperar todo

    es mas si el procesure tiene un parametro y tu no se lo pasas ya sea que lo invocas manualmente o por medio de linq to sql seguro fallara

    LINQ to SQL (Part 6 - Retrieving Data Using Stored Procedures)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta ivankikes lunes, 27 de febrero de 2012 12:22
    viernes, 24 de febrero de 2012 0:10

Todas las respuestas

  • el funcionamiento de la libreria Linq de asp.net,

    linq no tiene una relacion con asp.net o al menso no existe ningun linq to asp.net

    existen linq to object, linq to dataset, linq to xml, lint to sql, pero linq to asp.net no existe

    recuerda que linq trabja con colecciones o listas de datos, asp.net no es ninguna de estas

    si puede usar linq dentro de asp.net en el codigo .net

    que porcierto es muy interesante ahora bien cual los pros y contras de utilizarla en vez de un StoreProcedure por asi decirlo

    y el pro es que te agiliza muchisim el codigo al hacer el meapeo de tablas contra objeto de forma directa

    quizas como un control se podria decir que sino lo usas de forma correcta podrias geenrar problemas de performance en tu aplicacion

    puede tomar ambos caminos, pero el B que planteas esta incorrecto

    puede mapear un procedure a linq to sql y pasarle parametro para filtrarlo, no necesariamente debes recuperar todo

    es mas si el procesure tiene un parametro y tu no se lo pasas ya sea que lo invocas manualmente o por medio de linq to sql seguro fallara

    LINQ to SQL (Part 6 - Retrieving Data Using Stored Procedures)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta ivankikes lunes, 27 de febrero de 2012 12:22
    viernes, 24 de febrero de 2012 0:10
  • Ya que sale el tema aprovecho para lanzar la siguiente pregunta...

    ¿Qué es más optimo, una condición sobre una tabla con un store procedure o directamente con LINQ to SQL utilizando las condiciones LAMBDA?


    I.L.

    viernes, 24 de febrero de 2012 13:47
  • Depende de la complejidad de la consulta, pero si es sencilla y se usa Linq to SQL de forma parametrizada... debe ser equivalente en rendimiento
    domingo, 04 de marzo de 2012 1:19