Sorry, "You can".

RP

On Wednesday, March 15, 2017 at 3:34:41 PM UTC, Ricardo Peres wrote:
>
> Use can, obviously, use projections and only fetch the properties you are 
> interested in. Something like;
>
> var products = Session.Query<Product>().Select(p => new { 
> p.Id, CategoryName = p.Category.Name <http://p.category.name/>
>  }).ToList();
>
>
>
> On Wednesday, March 15, 2017 at 12:35:16 PM UTC, Felipe Oriani wrote:
>>
>> Hey guys, I am looking at the problem for "select n+1" queries. It scare 
>> us when I a session with more than 10 queries more than 100 in some cases 
>> haha). Some refactoring to do.
>>
>> Sometimes I just need a string property to fill a column on the grid and 
>> using `Fetch` extension method NHibernate fill the entire entity on the 
>> relation.* Is there any way to tell to NHibernate fill up just a column 
>> I need, without using the `Select` (from Linq) or `SelectLitst` (from 
>> QueryOver)?* Something like this:
>>
>> var products = Session.Query<Product>().FetchProperty(p => 
>> p.Category.Name).ToList();
>>
>> @Nestor, these cases are not huge tables. it will not pass more than 1000 
>> records and some filters applied.
>>
>> Thank you Guys
>>
>>
>> On Wed, Mar 15, 2017 at 5:15 AM, Nestor Andres Rodriguez <
>> [email protected]> wrote:
>>
>>> Hi Felipe,
>>>
>>> Joins may be expensive. But what is really important prior to any 
>>> optimization is to know how the data in this query behaves (reads, writes), 
>>> how often this query will be executed, how important is this query for the 
>>> business and customers, would it be a problem if it takes a few minutes , 
>>> how up-to-date should be the information, seconds, minutes, hours.
>>>
>>> If this query needs for example to be executed in few milliseconds, and 
>>> you have million of records on each of the 6 tables then  probably you 
>>> would like to avoid calculating the joins every time, so you may create a 
>>> denormalised table which is updated regularly using some triggering 
>>> mechanism, the downside is that you have to maintain yet another table and 
>>> a trigger mechanism.
>>>
>>> At the end everything has a cost, and you need to identify if it worth 
>>> it. If nobody complains and you do not see a good reason to optimize it, 
>>> just do not care about that.
>>>
>>> Cheers,
>>> Nestor
>>>
>>> --
>>> You received this message because you are subscribed to the Google 
>>> Groups "nhusers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/nhusers.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> -- 
>> ______________________________________
>> Felipe B Oriani
>> [email protected]
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.

Reply via email to