Hola Leonardo, para el caso de frameworks ORM, trabajé en proyectos donde se hicieron los data mappers a mano (bah en realidad generados pero sólo se generaba una vez y después se mantenían a mano) y en proyectos donde se usó NHibernate y me quedo toda la vida con esta última opción. En particular el costo de mantener las aplicaciones con NH fue siempre menor. En los proyectos que no se usó NH además de los mappers todavía hubo que implementar cosas como un identity map (para que no haya más de 1 instancia de la misma entidad dando vueltas en memoria) o el manejo de transacciones, lazy loading, y no había HQL ni criterias. Todas cosas que te vienen de arriba con NH.

Eso si, vale la pena usar un ORM si voy a hacer Domain Model y tiene cierto nivel de complejidad. Si lo que tengo es una aplicación con cero lógica entonces no vale la pena.

Coincido en que puede haber casos en que el framework no pague su costo, así que está piola si puedo hacer una buena evaluación de antemano.

Saludos,

Pedro Wood


Leonardo Micheloni escribió:
En AltNet justamente hablabamos de eso, un DSL te resuelve problemas pero te quita control, es más valioso hacerlo a mano? puede un junior hacerlo a mano? el tema de tocar los mappings y fijarse la performace, controlar las consultas generadas....qué me ahorro al final?, el tiempo de aprender el framework + todo ese overhead, no es mejor usar un T4? o hacerlo a mano? vos estabas Leandro en esa charla, al final me parece que le sumo fichas a kzu....y Carlos.....al final no tengo ninguna conclusión :)

On 5/13/09, *Pablo Dettori* <[email protected] <mailto:[email protected]>> wrote:

    Qué tal. Si, Quizás el designer sea útil para mapeos sencillos.
    Para relaciones más complejas quizás sea necesario tocar el
    mapping a mano.
    De todas formas, prefiero hacer el mapping manualmente; sé que se
demora más, pero siento que puedo tener más control y conocimiento del framework (me pasa con los ORMs con los que estoy
    trabajando, OJB.NET <http://OJB.NET> y NHibernate).
    Con respecto a la performance, coincido con vos en que hay que
    prestar mucha atención a la forma en la que el framework genera
    las sentencias SQL que envía al motor. En algunas escenarios,
    quizás es conveniente utilizar, por ejemplo, stored procedures
    paginados que me devuelvan específicamente lo que quiero que el
    usuario vea y no recorrer colecciones de colecciones de objetos.
    Es una de las cosas que me gustan de NHibernate, que tenga esa
    flexibilidad de poder usar HQL, SQL o stored procedures,
    dependiendo de lo que uno necesite, cambiando sólo un archivo de
    mapping. ¿El Entity Framework tiene soporte también para stored
    procedures?

    2009/5/13 Leandro Tuttini <[email protected]
    <mailto:[email protected]>>


        hola Pablo,

        Me imagino que la sensilles del mapping estara dada por el uso
        de designer que trae la herramienta.
        No creo que sea nada gracioso tocar el maping a mano.

        Por ahi esa es una contra detectada, o sea lo que el designer
        permite nativamente se logra con facilidad, lo que no permite
        bueno ahi esta el tema hasta donde permite el designer y hasta
        donde no.
        Alguin tuvo que dejar de utilizar el designer y hacer el
        mapping a mano, es posible ? es viable ? se aconseja llegado a
        cierto punto ahcerlo, o si se puede hay que evitarlo ? con que
        contras uno se puede topar si debe mapear a mano ademas del
        hecho que pierde la facilidad de lo visual ?

        Por el tema de performance creo que dependera de la situacion,
        no creo que los frameworks de persitencia tengan el 100% de la
        culpa si anda lento, por ahi la no utilizacion de indices
        correctos, o el analisis del profile, para verificar que se
        este ejecutando las consultas correctamente puede ser una causa.

        Saludos


        --- El *lun 11-may-09, Pablo Dettori /<[email protected]
        <mailto:[email protected]>>/* escribió:


            De: Pablo Dettori <[email protected]
            <mailto:[email protected]>>
            Asunto: [puntonet] Contras de utilizar Entity Framework
            Para: [email protected] <mailto:[email protected]>
            Fecha: lunes, 11 de mayo de 2009, 12:59 pm

            Qué tal, Leandro. Si, es un tema interesante el que
            proponés. Propongo un par de interrogantes más :
            ¿ Qué tan sencillo es el mapping de este framework?
            ¿ El nivel de performance es realmente aceptable?

            2009/5/11 Leandro Tuttini <[email protected]
            <http://mc/[email protected]>>

                hola,

                Queria plantear en la lista del mug una pregunta que
                vi en otro foro y me parecio interesante.

                La verdad yo hasta ahora no utilice Entity Framework,
                por eso no sabria que aportar.

                La pregunta que vi basicamente apuntaba a cuales son
                las contras de utilizar Entity Framework.

                O sea a ver aclaro un poco, la idea es descubrir:
                - que limitantes se tiene con Entity Framework,
                - que cosas no se deberian hacer,
                - que camino no tomar o implementar, donde encontraron
                problemas

                Se me ocurre, crear entidades con claves compuestas es
                buena idea ?
                Por ahi limitaciones al momento de querer extender el
                framework de persistencia.
                Al utilizarlo con otros motores de base de datos, por
                ejemplo Oracle, es compatible ?
                Que tipo de herencia tiene problemas al utilizarse.

                La idea por ahi no es comparar este framework con
                otro, ya que de ser asi seria muy largo el debate,
                sino que analizarlo solito y ver que cosas no hacer
                porque de hacerlas uno se encuentrara con problemas.

                Bueno seria este el planteo espero se entienda.
                Saludos


                
------------------------------------------------------------------------

                Yahoo! Cocina
                Recetas prácticas y comida saludable
                Visitá http://ar.mujer.yahoo.com/cocina/



        ------------------------------------------------------------------------

        Yahoo! Cocina
        Recetas prácticas y comida saludable
        Visitá http://ar.mujer.yahoo.com/cocina/




Responder a