Persitir Imagen

41 views
Skip to first unread message

Edgar Ramos

unread,
Apr 30, 2013, 6:01:15 PM4/30/13
to nhibernat...@googlegroups.com
Gente un saludo, requiero persistir una entidad que tendra una imagen asociada, he visto documentacion en internet para planear la mejor estrategia, y me he topado con el siguiente articulo



Debido que esta informacion data del 2009, conocen si actualmente debo considerar alguna estrategia para llevar a cabo esta persistencia.

Estoy utilizando nh3 y sql express 2005

Gracias por su gentil ayuda

--
Saludos
Edgar

Carlos Peix

unread,
Apr 30, 2013, 8:47:03 PM4/30/13
to nhibernate-hispano
Hola Edgar,

El articulo aun es valido pero me parece una complicacion en la que no deberias meterte a menos que tu situacion coincida con la de los primeros parrafos. En otras palabras, si tus imagenes son pequeñas (menores a 50K) no me preocuparia, sin embargo, habria que hacer las cuentas.

Sugiero que pruebes la opcion del campo byte[] o, como mucho, una propiedad lazy.

Un saludo

----------------------------------
Carlos Peix
cel: 15-4406-7571


2013/4/30 Edgar Ramos <eramo...@gmail.com>

--
--
Para escribir al Grupo, hágalo a esta dirección: NHibernat...@googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
---
Has recibido este mensaje porque estás suscrito al grupo "NHibernate-Hispano" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a nhibernate-hisp...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Carlos Casado

unread,
May 1, 2013, 5:55:24 AM5/1/13
to nhibernat...@googlegroups.com
Hola, la contestación de mi tocayo es muy correcta, no obstante, quisiera hacer un apunte.
Siempre que tratemos de persistir datos binarios en una base de datos hay que tener cuidado, por que se nos puede ir de las manos y ciertas consultas se pueden eternizar cuando la cantidad de datos es muy elevada a la hora de recuperar datos, sobre todo en listados. En muchas ocasiones puede ser de interés guardar esos datos en un one-to-one (obviamente con lazy habilitado) o incluso mejor aún, guardar el fichero físicamente y tener una referencia a su ubicación en la tupla correspondiente.

Aún utilizando byte[] y datos pequeños, luego esa información va sumando y cuando tienes 100 registros no pasa nada, cuando ya nos empezamos a pasar de los 1000 las cosas se pueden ralentizar.

Por muy "clásico" que pueda parecer el acceso a ficheros mediante rutas físicas son accesos mucho más rápidos que obtenerlos desde la base de  datos.
--
.-Salu2-.

Carlos Peix

unread,
May 1, 2013, 9:33:24 AM5/1/13
to nhibernate-hispano
Buen consejo Carlos.

En ese sentido iba la segunda posibilidad que mencione. Podrias definir un objeto separado para la imagen (de paso puede ayudar a hacer mas semantico el uso desde el dominio) y persistirlo en una tabla diferente.

Esto te ayudaria, incluso, a abstraer el real almacenamiento de la imagen (tabla, archivo, etc)

Un saludo


----------------------------------
Carlos Peix
cel: 15-4406-7571


2013/5/1 Carlos Casado <friki....@gmail.com>

Edgar Ramos

unread,
May 2, 2013, 10:04:31 AM5/2/13
to nhibernat...@googlegroups.com
Gracias Carlos, la verdad que a lo mucho se guardaran unas 15 imagenes, todavia no veo el tamaño que tendrán pero imagino no superarn los 50k. Por otro lado si tuviera un sistema que se dedicaria a vender productos por internet, y obviamente tengo que mostrarlos por medio de un catalago, en este caso cual seria la estrategia adecuada?, he visto que algunas personas almacenan en la base de datos el path de la imagen.

Gracias por sus comentarios

Saludos
Edgar
--
Saludos
Edgar

Edgar Ramos

unread,
May 2, 2013, 10:16:07 AM5/2/13
to nhibernat...@googlegroups.com
Lo siento no habia leido las respuestas completas me queda claro el asunto

Nuevamente gracias

Saludos
Edgar
--
Saludos
Edgar
Reply all
Reply to author
Forward
0 new messages