Hola Leandro!,

 

Imagino que cuando decis eso estas pensando en ActiveRecord, y pore so
propones la solución con atributos…

Pero lo que hace NH es crear un proxy de la clase, en donde se pone la
lógica del lazy load. Dicho de una forma mas clara, el atributo en ese caso
funciona como un comentario que es visible por el código...

La otra cosa que podes hacer es algo como esto:

 

http://www.codeproject.com/useritems/ps-custom-attributes-1.asp

 

que sinceramente no logre descubrir bien como funciona, pero básicamente lo
que hace es agregar código en tiempo de compilación…

 

Fijate si te sirve.

Saludos,

Diego

 

 

From: patrones@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Leandro
Tuttini
Sent: Miércoles, 14 de Noviembre de 2007 05:42 p.m.
To: patrones List Member
Subject: [patrones] Lazy Load para cargar propiedades

 

Hola que tal.

De seguro me meta en un lio con esta pregunta, pero queria realizarla
igualmente a ver que ideas surgen.

La idea es poder implementar un lazy load casero, o sea no importa si se
utiliza algun framework o no.

La idea es poder por ejemplo tener una clase Entidad, ejemplo de "Region" y
poder obtener sus "Instituciones" de esa zona, pudiendo cargarse esto en el
momento que se invoca.

Por supeusto este Lazy no necesariamente cargara desde un Provider a la Base
de Datos, podra leer tambien desde un xml, esto igual es anecdotico, ya que
lo resuelve el provider que se implemente, o mejor el factory del provider.

Lo que no llego a terminar de cerrar es como se puede lanzar a la ejecucion
un atributo en una propiedad de una clase, y que este atributo cargue la
lista en la variable manejada por la entidad.

Se puede lograr esto? es muy complejo?

public class RegionEntity
{

    private List<InstitucionEntity> _instituciones;

    [Lazy(InstitucionesFactory)]
    public List<InstitucionEntity> Instituciones
    {
        get{return _instituciones;}
        set{_instituciones = value;}
    }

}

Como veran en el ejemplo simple la idea seria lograr que al invocar la
propiedad, primeramente se llame al atributo y cargue la lista.

Bueno cualquier ayuda ser bienvenida.
Saludos

  

  _____  


Compartí video en la ventana de tus mensajes y también tus fotos de Flickr.
Usá el Nuevo Yahoo! Messenger versión Beta. 
Visitá http://ar.beta.messenger.yahoo.com/

Responder a