Hm...it seems like ISession should hold on to the reference since it is in its map but state won't be synched with the db. Can you try what I suggested it and insert the call to Session.Clear() or Evict before the call to .Get<>() ?
On Jun 29, 8:26 am, Colin Bowern <co...@bowern.com> wrote: > Hi Mike, > > Thanks for the reply! To be clear: If I abort a transaction I should > also clear the session? > > Thanks, > Colin > > On Jun 29, 3:48 am, Mike Nichols <nichols.mik...@gmail.com> wrote: > > > You need to clear your session. Session.Clear() > > > On Jun 28, 12:57 pm, Colin Bowern <co...@bowern.com> wrote: > > > > While building out a few spikes to play around with NHibernate and I > > > have hit a wall with transactions under SQLite. My configuration > > > looks like: > > > > FluentNHibernate.Cfg.Db.SQLiteConfiguration > > > .Standard.InMemory() > > > .ShowSql() > > > .Driver<NHibernate.Driver.SQLite20Driver>() > > > .Provider<NHibernate.Connection.DriverConnectionProvider>() > > > .ProxyFactoryFactory > > > ("NHibernate.ByteCode.Castle.ProxyFactoryFactory, > > > NHibernate.ByteCode.Castle") > > > .Raw("connection.release_mode", "on_close"); > > > > My test explicitly calls a rollback: > > > > NHibernate.ISession session = SessionManager.GetCurrentSession(); > > > using (NHibernate.ITransaction transaction = session.BeginTransaction > > > ()) > > > { > > > > id = (int)session.Save(new Foo { Name = "Sam" }); > > > id = (int)session.Save(new Foo { Name = "Sam" }); > > > transaction.Rollback(); > > > > } > > > > var result = session.Get<Foo>(id.Value); > > > Assert.IsNull(result); > > > > Yet it does not seem to rollback. Does SQLite have support for > > > transactions? In the ShowSQL I am not seeing any evidence of it: > > > > == Creating Test Schema > > > id > > > property > > > id > > > property > > > drop table if exists Foo > > > create table Foo (Id integer, Name TEXT, primary key (Id)) > > > == Inserting Test Data > > > NHibernate: INSERT INTO Foo (Name) VALUES (@p0); select > > > last_insert_rowid(); @p0 = 'Tom' > > > NHibernate: INSERT INTO Foo (Name) VALUES (@p0); select > > > last_insert_rowid(); @p0 = 'Dick' > > > NHibernate: INSERT INTO Foo (Name) VALUES (@p0); select > > > last_insert_rowid(); @p0 = 'Harry' > > > == Initialization Complete > > > NHibernate: INSERT INTO Foo (Name) VALUES (@p0); select > > > last_insert_rowid(); @p0 = 'Sam' > > > NHibernate: INSERT INTO Foo (Name) VALUES (@p0); select > > > last_insert_rowid(); @p0 = 'Sam' > > > > Thanks, > > > Colin- Hide quoted text - > > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to nhusers@googlegroups.com To unsubscribe from this group, send email to nhusers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---