It is not N+1, it is 2.

Assume you have Blog : Posts as 1 : n with a non-lazy posts collection.
If you load a blog, there are 2 queries - one for the blog and one for all
posts.

N+1 occurs when you have 1 : n with a lazy collection and you are
enumerating the collection. Then you have one query for the blog and n
queries for n posts.

As a result, if your collection is not lazy, there is no N + 1. So the
Eager=true flag would be only useful if you had a lazy collection,
nullifying the laziness because of eager loading.

Eager loading is useful in the case you have a lazy collection but you know
that you need to load all the referenced entities. Then you can specify in a
query, that in this situation there should be no lazy loading, but getting
all the childs at once.

-Markus

2010/10/20 Ivan Bolčina <[email protected]>

> Sorry, I ment why is there not a simple way to do 1 query instead of N+1?
>
>
>
>
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Markus Zywitza
> *Sent:* Wednesday, October 20, 2010 4:50 PM
>
> *To:* [email protected]
> *Subject:* Re: two questions
>
>
>
> Because that's the default behaviour. If you do not specify lazyness, all
> entities referenced from a loaded entity are loaded directly after it.
> Lazyness is used to stop NH/AR from loading objects that are not needed.
>
>
>
> -Markus
>
> 2010/10/20 Ivan Bolčina <[email protected]>
>
> Hi.
>
>
>
> Why isnt there a flag in relation like lazy but for eager loading?
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Roelof Blom
> *Sent:* Tuesday, October 19, 2010 9:07 AM
>
>
> *To:* [email protected]
> *Subject:* Re: two questions
>
>
>
>
> http://stw.castleproject.org/Active%20Record.Tuning%20(performance%20improvements).ashx<http://stw.castleproject.org/Active%20Record.Tuning%20%28performance%20improvements%29.ashx>
>
> On Tue, Oct 19, 2010 at 8:21 AM, Ivan Bolčina <[email protected]>
> wrote:
>
> Wow, nice... How come I didn't find anything in documentation.
>
>
>
> Also, is there fetch join in active record?
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Roelof Blom
> *Sent:* Monday, October 18, 2010 12:52 PM
> *To:* [email protected]
> *Subject:* Re: two questions
>
>
>
> Inline
>
> On Mon, Oct 18, 2010 at 9:59 AM, Ivan Bolčina <[email protected]>
> wrote:
>
> Hi.
>
>
>
> Two questions:
>
> 1.       Is there a LINQ to Caste active record?
>
> Yes, use the extension methods in
> Castle.ActiveRecord.Framework.ActiveRecordLinq,
>
> or derive from ActiveRecordLinqBase<T>
>
> 2.       What is the best way to write simple queries like »...where name
> like '%john%' and age>10«
>
> use the PredicateBuilder
> <http://www.albahari.com/nutshell/predicatebuilder.aspx>class on
> the IQueryable supplied by ActiveRecord
>
>
>
> Thanks
>
>
>
> Ivan Bolčina
> SOFTWARE DEVELOPMENT
> MANAGER
>
> [email protected]
>
> tel: +386 51 680 415
>
>
>
> www.apida.si
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Development List" group.
> To post to this group, send email to [email protected]
> .
> To unsubscribe from this group, send email to
> [email protected]<castle-project-devel%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/castle-project-devel?hl=en.
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Development List" 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-devel?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Development List" group.
> To post to this group, send email to [email protected]
> .
> To unsubscribe from this group, send email to
> [email protected]<castle-project-devel%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/castle-project-devel?hl=en.
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Development List" 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-devel?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Development List" group.
> To post to this group, send email to [email protected]
> .
> To unsubscribe from this group, send email to
> [email protected]<castle-project-devel%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/castle-project-devel?hl=en.
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Development List" 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-devel?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Castle Project Development List" group.
> To post to this group, send email to [email protected]
> .
> To unsubscribe from this group, send email to
> [email protected]<castle-project-devel%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/castle-project-devel?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Development List" 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-devel?hl=en.

<<image001.png>>

Reply via email to