NHibernate vs Linq vs DataSet vs CastleProject

01/07/2008 - 17:19 por jcpc91 | Informe spam
hola no sé mucho de esto pero he estado leyendo sobre nhibernate y
recientemente sobre linq parece que conceptualmente es lo mismo es
decir son ORM mi pregunta es ¿cual es mejor ? para trabajar yo siempre
he utilizado los DataSet como un ORM pero he leído en arŽticulos que
los dataset no son una buena opión al momento de desarrollar
aplicaciones grandes así que si es cierto eso me gustaría escuchar de
los expertos y de la gente que ha manejado cualquiera de estos ORMs
cuál es el mejor tanto en su aprendizaje (keno tenga una curva de
aprenidzaje muy pronunciada), y que sea muy robusta es decir que pueda
abarcar la mayoriaa de los diseños de base de datos y de clases
gracias por sus respuestas

Preguntas similare

Leer las respuestas

#11 Fernando Gómez
02/07/2008 - 18:08 | Informe spam
Alfredo Novoa wrote:
Hola Fernando,

El Tue, 01 Jul 2008 18:01:05 -0500, Fernando Gómez escribió:
Una cosa es que se
los objetos del SGBD y tengamos métodos para poder obtener sus
manipularlos y otra que el lenguaje te deje hacer un select sobre ellos
como haces con LinQ.



Que eventualmente el compilador las traducirá a llamadas a clases y
métodos.



Eventualmente no. Siempre. Igual que el compilador JIT las traducirá a
código máquina. No se a donde quieres ir a parar con eso.




Pues eso fue lo que dije... Eventualmente == Siempre :S

En mi opinión, es bueno que no esté integrado al lenguaje, la
sintaxis es horrible y agrega una sobrecarga inecesaria al lenguaje.



Pues en mi opinión y en la de muchos expertos es muy bueno que esté
integrado en el lenguaje, pero la sintaxis es horrible y tiene fallos
garrafales increibles como el que no existan instrucciones de actualización
y que tengas que definir clases que correspondan con las tablas.




Si quieres hacer un programa que no emplee base de datos, tienes la
sobrecarga del acceso a datos. Sería interesante saber el nombre de esos
expertos y leer sus opiniones, ya que yo no he encontrado alguno (que no
trabaje *para* Microsoft). ¿Tendrás información al respecto, los podrías
proporcionar, de favor?

Todo se hace a través de Reflection. Guardas unos archivos XML como
recurso del sistema donde mappeas la tabla a tu clase. Luego, el engine
de NHibernate lee dichos archivos, carga objetos y asigna valores a las
propiedades mappeadas. Por supuesto, hay varias técnicas (como un
lenguaje que crearon para hacer consultas, algo remotamente similar a
Linq to SQL, pero sin extensiones al lenguaje.



Es decir, que tiene algunos de los inconvenientes de LinQ sin sus ventajas.




Je, vale vale...

Como ultimo comentario, más dirigido al OP, acabo de leer que LINQ to
SQL solo funciona con SQL Server, así que si se quiere emplear otras
bases de datos, creo que LINQ no sería una solución.



Pero el LinQ to Entities va a funcionar con diferentes SGBD.




Mientras, al OP no le sirve LINQ.


Saludos
Alfredo




Saludos.
Respuesta Responder a este mensaje
#12 Fernando Gómez
02/07/2008 - 18:17 | Informe spam
Alfredo Novoa wrote:
Hola Juan Diego,

El Tue, 1 Jul 2008 23:16:44 +0200, Juan Diego Bueno escribió:

Cuando hablas de datasets como ORM, supongo que te refieres a los datasets
fuertemente tipados. Supongo que el problema es el mismo que con cualquier
ORM, y es que generan código a cascoporro con funcionalidades que luego tu
no acabas usando. Yo aun los uso, sobre todo para informes, ya que aun no he
dado con la forma eficaz de poder usar crystal o reporting con datasets o
datatables no tipados,



¿Pero por que quieres usar Crystal Reports con datasets?




Si tienes una capa de datos ya hecha, lo lógico (para seguir una
arquitectura en capas) es que tus reportes usen la capa de datos, que
posiblemente provean alguna interfaz al DataSet.

No le veo sentido, lo lógico es que los informes de Crystal saquen los
datos directamente del SGBD.


Saludos
Alfredo
Respuesta Responder a este mensaje
#13 Eduardo
02/07/2008 - 21:04 | Informe spam

Si tienes una capa de datos ya hecha, lo lógico (para seguir una
arquitectura en capas) es que tus reportes usen la capa de datos, que
posiblemente provean alguna interfaz al DataSet.





ay ay... ya va a empezar la discusion :))
Respuesta Responder a este mensaje
#14 Fernando Gómez
02/07/2008 - 22:30 | Informe spam
Eduardo wrote:
Si tienes una capa de datos ya hecha, lo lógico (para seguir una
arquitectura en capas) es que tus reportes usen la capa de datos, que
posiblemente provean alguna interfaz al DataSet.





ay ay... ya va a empezar la discusion :))




:O ¿Qué discusión?
Respuesta Responder a este mensaje
#15 Yoel Mc Lennan
02/07/2008 - 22:40 | Informe spam
No se si es lo mejor, pero nosotros usamos entidades xml, y tipo de datos
con Generics List<entidad> , la conexión la establecemos con
EnterpriseLibrary
de MicroSoft y lo hemos probado con Postgresql, Mysql , Oracle y Sql Server,
y funciona bien, la unica limitacion que encuentro es que hay que tener una
entidad
identica al diseño de la tabla, pero el día que cambie una tabla, solo se
modifica la entidad, y la capa de negocios y front end solo si es necesario.
eso si, trabajamos con cuatro capas. la transferencia de datos es rapidisima
ente capa y capa.
construimos un generador de código que genera las clases de entidad, las
clases de las capas vacias (con su estructura) y listo, en 30 segundos
tenemos un formulario simple de ABM funcionando, hay un producto
Mygeneration creo, que hace algo parecido, sino Ajlopez (googlealo) tiene
algo similar.

Yoel.



escribió en el mensaje
news:
hola no sé mucho de esto pero he estado leyendo sobre nhibernate y
recientemente sobre linq parece que conceptualmente es lo mismo es
decir son ORM mi pregunta es ¿cual es mejor ? para trabajar yo siempre
he utilizado los DataSet como un ORM pero he leído en ar´ticulos que
los dataset no son una buena opión al momento de desarrollar
aplicaciones grandes así que si es cierto eso me gustaría escuchar de
los expertos y de la gente que ha manejado cualquiera de estos ORMs
cuál es el mejor tanto en su aprendizaje (keno tenga una curva de
aprenidzaje muy pronunciada), y que sea muy robusta es decir que pueda
abarcar la mayoriaa de los diseños de base de datos y de clases
gracias por sus respuestas
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida