Sorry, that wasn't very clear - I mean that operations performed within the outer transaction scope are committed to the database. It is like the inner transaction is rolling back the outer transaction scope prematurely.
This is a contrived example by the way, to demonstrate the issue. On Oct 23, 12:26 pm, acl123 <[email protected]> wrote: > Hi Fabio, > The issue is that the second transaction is committed, even though I > never call transaction.commit. > > On Oct 20, 1:43 pm, Fabio Maulo <[email protected]> wrote: > > > Personally I don't know what you are talking about.You can have x > > transactions inside the same nh-session. > > session-per-request is a pattern well documented and with thousands of > > examples. > > > In your code the first transaction is rolled-back because the transaction is > > disposed without commit that mean rollback it. > > > When you don't know how manage transactions the most easy way to solve the > > problem is saying: > > "Clearly NHibernate breaks when using nested transactions though, so I'm > > kind of stuck." > > > 2009/10/19 acl123 <[email protected]> > > > > By the way I am using Session-Per-Web-Request as this appears to be > > > the recommend way to use NHibernate with Asp .NET. > > > > This means that I definitely don't want to be wrapping the entire > > > session in a transaction (the method that Ayende uses on his blog). I > > > want to be using TransactionScope > > > like you would use an NHibernate transaction - i.e. multiple > > > transaction per session. > > > > Clearly NHibernate breaks when using nested transactions though, so > > > I'm kind of stuck. > > > > On Oct 19, 12:59 pm, acl123 <[email protected]> wrote: > > > > In this case, the second ADO command is committed to the database, > > > > whilst the first is rolled back. What is going on? This seems very > > > > weird to me. > > > > > This is kind of a follow up question to my previous post here: > > >http://groups.google.com/group/nhusers/browse_thread/thread/241cc0430... > > > > > [TestFixture] > > > > public class TestFixture > > > > { > > > > [Test] > > > > public void Test() > > > > { > > > > using(var factory = _config.BuildSessionFactory()) > > > > { > > > > using (var session = factory.OpenSession()) > > > > { > > > > CallSessionContext.Bind(session); > > > > > using(new TransactionScope()) > > > > { > > > > using (session.BeginTransaction()) > > > > { > > > > // Do something with an NHibernate > > > > mapped entity > > > > } > > > > > using(var connection = new SqlConnection > > > > (_connectionString)) > > > > { > > > > // Execute an insert statement > > > > } > > > > } > > > > > CallSessionContext.Unbind(factory); > > > > } > > > > } > > > > } > > > > } > > > -- > > Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
