I was told the same thing over in the developer group. As I said there, there is nothing special I am doing here. In fact, the test case I would write there would be the same one that is already there under NHibernate.Tests.Linq.WhereTests.cs
This is not an NHibernate bug, it is apparently a bug with my implementation, which is why I have moved the discussion here. The only symptom I can provide is the one I have - When my app is compiled in Release mode, with NHibernate 3.1 (provided by Fluent NHibernate 1.2), NHibernate is not executing any SQL commands except for the transaction open and close. / Michael / On Jun 2, 3:04 pm, Maximilian Raditya <[email protected]> wrote: > Michael, > > I think a simplified test case (bundled in a solution/project would be > better) reproducing the issue would be the best shot here. Your failing test > case would explain something that is wrong. > > I've personally never run into your issue so I'm not sure why it happened > thay way in your case. I'm currently using Linq in NH with NH 3.2 Beta 1 > from the trunk and have no issue whether running my own tests in Debug nor > Release mode. > > -- > Regards, > > Maximilian Haru Raditya > > > > > > > > On Fri, Jun 3, 2011 at 1:18 AM, Beefy <[email protected]> wrote: > > I fired up the SQL profiler and looked at what I'm getting there. > > > In Release mode, NHibernate is ONLY opening and closing transactions, > > it is not executing any of the other SQL it needs to. > > > So the real question here would be, can anyone think of any reason, > > configuration, etc. where NHibernate wouldn't execute any of the > > commands it should? > > > I have some direct SQL statements that DO work (schema check stuff I > > do) fine, so this appears to be limited to my NHibernate > > implementation. > > > / Michael / > > > On Jun 2, 1:22 pm, Beefy <[email protected]> wrote: > > > After bouncing around trying to find what is happening, I'm back with > > > a bit more information about my issues... > > > > I'm running an MVC app with Fluent NHibernate (NH 3.1). When compiled > > > in Debug mode, everything works splendidly. When compiled in Release > > > mode, NHibernate isn't working. My session is built by Structuremap, > > > which injects a ISessionFactory (Singleton) into an HttpModule that > > > opens a transaction OnBeginRequest, and commits / rolls back > > > OnEndRequest. Nothing really ground breaking here, and as I said, this > > > all works in Debug mode. > > > > My repository takes in this session, and calls a simple > > > > Session.Query<T>().Where(x => x.Email = > > > "email").SingleOrDefault(). > > > > It does a lot more than that of course, but that is the particular > > > query I hit FIRST on an executed request (getting a user to login). I > > > always get null back from this in Release mode, whereas I get the > > > right object in Debug mode. > > > > THAT IS ALL SETUP FOR THIS. > > > > I am running this through NHProfiler to figure out what's happening. > > > In Debug mode, I see the transaction open, all the SQL get executed, > > > and then the transaction closed. In Release mode, I see the > > > transaction open, and then it just closes without executing any SQL. > > > There is something I am doing that is causing NHibernate to not > > > execute any SQL when in Release mode, OR NHibernate only outputs the > > > information NH Profiler needs when in Debug mode (Though it DOES > > > output the transaction begin/end log...). Just in case, I turned on my > > > own log4net log and go this out of it: > > > > DEBUG 2011-06-02 12:03:36,349 [16] SessionImpl - [session- > > > id=449a1286-ff0e-46af-a4cc-235877c723b7] opened session at timestamp: > > > 634426130163, for session factory: [/a28575cbfee44a269368768a28d01c78] > > > DEBUG 2011-06-02 12:03:36,363 [16] AdoTransaction - Begin > > > (Unspecified) > > > DEBUG 2011-06-02 12:03:36,366 [16] iverConnectionProvider - Obtaining > > > IDbConnection from Driver > > > DEBUG 2011-06-02 12:03:36,373 [16] QueryPlanCache - located > > > HQL query plan in cache (.SingleOrDefault[Domain.Model.User] > > > (.Where[Domain.Model.User] > > > (NHibernate.Linq.NhQueryable`1[STEP.Domain.Model.User], Quote((x, ) => > > > (String.op_Equality(x.Email, p1))), ), )) > > > DEBUG 2011-06-02 12:03:36,376 [16] QueryPlanCache - located > > > HQL query plan in cache (.SingleOrDefault[Domain.Model.User] > > > (.Where[Domain.Model.User] > > > (NHibernate.Linq.NhQueryable`1[STEP.Domain.Model.User], Quote((x, ) => > > > (String.op_Equality(x.Email, p1))), ), )) > > > DEBUG 2011-06-02 12:03:36,378 [16] HQLQueryPlan - > > > find: .SingleOrDefault[STEP.Domain.Model.User] > > > (.Where[Domain.Model.User] > > > (NHibernate.Linq.NhQueryable`1[STEP.Domain.Model.User], Quote((x, ) => > > > (String.op_Equality(x.Email, p1))), ), ) > > > DEBUG 2011-06-02 12:03:36,379 [16] QueryParameters - named > > > parameters: {} > > > DEBUG 2011-06-02 12:03:36,382 [16] ControllerBase - Action: > > > Account.LogOn | Time(s): 0.011 > > > DEBUG 2011-06-02 12:03:36,384 [16] ControllerBase - > > > ActionResult: Account.LogOn => RedirectToRouteResult | Time(s): 0 > > > DEBUG 2011-06-02 12:03:36,385 [16] AdoTransaction - Start > > > Commit > > > DEBUG 2011-06-02 12:03:36,386 [16] SessionImpl - before > > > transaction completion > > > DEBUG 2011-06-02 12:03:36,388 [16] AdoTransaction - > > > IDbTransaction Committed > > > DEBUG 2011-06-02 12:03:36,389 [16] SessionImpl - > > > transaction completion > > > DEBUG 2011-06-02 12:03:36,390 [16] ConnectionManager - > > > aggressively releasing database connection > > > DEBUG 2011-06-02 12:03:36,391 [16] ConnectionProvider - Closing > > > connection > > > DEBUG 2011-06-02 12:03:36,392 [16] AdoTransaction - > > > IDbTransaction disposed. > > > DEBUG 2011-06-02 12:03:36,393 [16] SessionImpl - [session- > > > id=449a1286-ff0e-46af-a4cc-235877c723b7] running ISession.Dispose() > > > DEBUG 2011-06-02 12:03:36,394 [16] SessionImpl - [session- > > > id=449a1286-ff0e-46af-a4cc-235877c723b7] executing real Dispose(True) > > > DEBUG 2011-06-02 12:03:36,395 [16] SessionImpl - closing > > > session > > > DEBUG 2011-06-02 12:03:36,398 [16] AbstractBatcher - running > > > BatcherImpl.Dispose(true) > > > > Again, it would seem that Nhibernate is either not spitting out any > > > logging info when in Release mode, or is simply not executing any of > > > it's queries. When my solution is compiled in debug mode I get > > > thousands more lines of log messages, so I assume NHibernate is not > > > outputting a lot of stuff when the calling solution is compiled in > > > Release mode... > > > > Does anyone have any insights into what I may be doing wrong? > > > Connection String properties that only work in Debug mode for some > > > reason? > > > > Or even better, a way to make NHibernate spit out the same info for > > > the Release mode vs Debug mode so I can compare what they are doing? > > > -- > > You received this message because you are subscribed to the Google Groups > > "nhusers" 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/nhusers?hl=en. -- You received this message because you are subscribed to the Google Groups "nhusers" 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/nhusers?hl=en.
