I am trying to figure out a way to issue a specific query via 
QueryOver<T>. Basically I have to select a collection of the top level 
objects based on the bottom-most object. This is what I wrote:
 
var meetings = NHibernateDataContext.QueryOver<Meeting>()
                .Where(meeting => meeting.Id.EventId == roadshowId)
                .JoinQueryOver(m => m.Investors)
                .JoinQueryOver(i => i.Contacts)
                .Where(contact => contact.Id.ContactId == 1 )
                .List();
 
When I view the SQL in the console I see the SQL corresponding to this 
query issued. After that the SQL for the entities' mapping files is 
generated and executed automatically. So if this brought back two meetings, 
it will auto query for Investors for that meeting and Contacts for those 
Investors. I need to know how to stop NHibernate from issuing that SQL 
automatically and only issue the SQL for the specified query. I looked into 
Event Listeners and tried to intercept at PreLoad and cancel the query from 
the Session object but it should only be cancelled when called from this 
specific method not every time that entity type is encountered. This also 
has to work in Sybase. I've been looking for a solution but I can't find 
one. It could be that I'm just missing something fundamental that I'm doing 
wrong but I've been banging my head against the wall with this for over a 
week so I am hoping someone has encountered this situation before. Thanks.
 
Sincerely,
Denis J. Lanza
Technical Architect
Dealogic
New York City

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/nhusers/-/sr2IfPuo7JcJ.
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/nhusers?hl=en.

Reply via email to