It is not redundant and, over all, it does not need to expose NH.
The NH's transaction works inside TransactionScope.
NH's, so far, has two implementations of ITransaction and there are cases
(Steve has at least an example) where, depending on the DataProvider you are
using, one work better than the other inside DTC.

If the responsibility of NH's transaction were only a wrap of the underling
DB-transaction, we could implement a "forget-it-transaction" and
rely completely on the integration of the DataProvider with DTC.
But the NH's transaction have to be aware of some other stuff.

If what you are looking for is "implicit NH's transaction" then vote for:
http://216.121.112.228/browse/NH-2181

On Fri, Mar 4, 2011 at 3:11 PM, Michael Teper <[email protected]> wrote:

> It's redundant? Also, when NH interfaces are otherwise abstracted
> away, this requires exposing NH.
>
> -Michael
>
>
> On Mar 4, 9:42 am, Fabio Maulo <[email protected]> wrote:
> > Have you a reason to avoid the usage of NH's transaction ?
> >
> >
> >
> >
> >
> > On Fri, Mar 4, 2011 at 2:35 PM, Jeff Sternal <[email protected]>
> wrote:
> > > When using TransactionScope only (no NH Transaction), auto-flush does
> > > not work.
> >
> > > Should it?
> >
> > > Looking at SessionImpl.AutoFlushIfRequired in the 3.0 source, it's
> > > obvious why auto-flush doesn't work: the method short-circuits if the
> > > session is not in a _local_transaction. It does not consider
> > > distributed transactions (which in this context include the ambient
> > > TransactionScope transaction).
> >
> > > Compare SessionImpl.TransactionInProgress to
> > > ConnectionManager.IsInActiveTransaction, which does respect
> > > distributed transactions.
> >
> > > Should SessionImpl.TransactionInProgress call the connection manager
> > > method instead of checking this.Transaction.IsActive, or is this
> > > behavior intentional?
> >
> > --
> > Fabio Maulo- Hide quoted text -
> >
> > - Show quoted text -




-- 
Fabio Maulo

Reply via email to