I would imagine that AR generates a dynamic proxy and uses interceptors to 
perform lazy loading. I am not familiar with AR, but have been using Dynamic 
Proxy and Windsor container for the last year, there are plenty of examples 
that demonstrate these concepts.

On 9/08/2010, at 8:47 PM, omer katz <[email protected]> wrote:

> My question is not how lazy loading works.
> I meant how is the fetching invoked when the property is first accessed?
> 
> 2010/8/9 Roelof Blom <[email protected]>
> Hi Omer,
> 
> Lazy loading of collections works with NH 2.1, and thus with ActiveRecord.
> 
> To learn how lazy collection works check this: 
> http://nhforge.org/wikis/howtonh/lazy-loading-eager-loading.aspx
> 
> -- Roelof.
> 
> On Mon, Aug 9, 2010 at 9:48 AM, omer katz <[email protected]> wrote:
> So
> [
> HasMany(Lazy = true)]
> public
> 
> virtual ISet<foo> foos;
>  
> 
> doesn't work as well?
> 
> How come it compiles?
> 
> If it does work, how does it load the set lazily?
> 
> 
> 2010/8/8 Markus Zywitza <[email protected]>
> Not at all.
> 
> This doesn't work with NH2.1, only with NH3.0 Alpha. AR uses NH2.1.
> 
> -Markus
> 
> 2010/8/8 omer katz <[email protected]>:
> > In active record to write a model you write:
> >
> > [ActiveRecord("TableName")]
> > public class Model
> > {
> >    [Property("SomeField")]
> >    public virtual string SomeField { get; set; };
> >
> >    [Property("SomeLazyField"), Lazy= true]
> >    public virtual string SomeLazyField { get; set; };
> >
> > }
> >
> >
> > If the field is lazy it must fetch it on the first access, so how does the
> > Property attribute override the property and fetches the SomeLazyField
> > value?
> >
> > Thanks,
> > Omer
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Castle Project Users" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> > http://groups.google.com/group/castle-project-users?hl=en.
> >
> 
> --
> You received this message because you are subscribed to the Google Groups 
> "Castle Project Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/castle-project-users?hl=en.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Castle Project Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/castle-project-users?hl=en.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Castle Project Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/castle-project-users?hl=en.
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Castle Project Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/castle-project-users?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to