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/