I always commit the NH transaction. I'm not sure. Try it and see.

On Wed, Aug 18, 2010 at 6:59 AM, Jacob Madsen <[email protected]> wrote:

> "session.Transaction.Commit()" is invoked by the NH internals, when
> transactionScope.Complete() is invoked, right?
>
>
> On Wed, Aug 18, 2010 at 1:56 PM, Jacob Madsen <[email protected]> wrote:
>
>> Ahh.. great details!
>>
>> On Wed, Aug 18, 2010 at 1:53 PM, Fabio Maulo <[email protected]>wrote:
>>
>>> First of all thanks to avoid the annoying discussion about "I don't want
>>> use NH's transaction" and try it as I said you.
>>>
>>> In releasenote.txt under
>>>  ** BREAKING CHANGES from NH1.2.1GA to NH2.0.0
>>> you can find this
>>>  * AutoFlush will not occur outside a transaction - Database
>>> transactions are never optional, all communication with the database must
>>> occur inside a transaction, whatever you read or write data.
>>>
>>> The NH's transaction is, sorry to be redundant, the NH's transaction. You
>>> have to use it because NH need it to take in account all operations under NH
>>> responsibility (it include cache, UoW and transactionscope).
>>>
>>> Because NH's transaction is not 1:1 with DB-transaction the
>>> TransactionScope is not a substitute of NH's transaction.
>>>
>>> On Wed, Aug 18, 2010 at 8:37 AM, Jacob Madsen <[email protected]> wrote:
>>>
>>>> Love the feature :-)
>>>>
>>>> Why do you also begin a nhibernate transaction?
>>>>
>>>>
>>>>
>>>>   On Wed, Aug 18, 2010 at 1:08 PM, Fabio Maulo <[email protected]>wrote:
>>>>
>>>>>   using(var transactionScope = new TransactionScope())
>>>>>  using(var session = sessionFactory.OpenSession())
>>>>> using(var tx = session.BeginTransaction())
>>>>> {
>>>>>     var someEntity = session.Get<SomeEntityType>(someId);
>>>>>
>>>>>    someEntity.Name = "bla";
>>>>> ....
>>>>>  transactionScope.Complete();
>>>>>
>>>>> NH will use autodirty check
>>>>>
>>>>>   On Wed, Aug 18, 2010 at 7:53 AM, Jacob Madsen <[email protected]>wrote:
>>>>>
>>>>>>  So I do not need to make an explicit Update(someEntity) call?
>>>>>>
>>>>>> using(var transactionScope = new TransactionScope())
>>>>>>  using(var session = sessionFactory.OpenSession())
>>>>>> {
>>>>>>    var someEntity = session.Get<SomeEntityType>(someId);
>>>>>>
>>>>>>    someEntity.Name = "bla";
>>>>>>
>>>>>>    session.Update(someEntity); // I want to avoid these explicit
>>>>>> Update-calls by tracking the (dirty) entities in a session and do a 
>>>>>> single
>>>>>> call to a "void SaveChanges()" method. The "SaveChanges" method should do
>>>>>> the updating on the entities in a session. I still want to explicitly 
>>>>>> insert
>>>>>> new entities with session.Save(newEntity), which I abstract and in a 
>>>>>> method
>>>>>> called "Store".
>>>>>>
>>>>>>    transactionScope.Complete();
>>>>>>    }
>>>>>>
>>>>>> On Tue, Aug 17, 2010 at 10:30 AM, Dwarrel <[email protected]>wrote:
>>>>>>
>>>>>>> Yes, you would not want to use it for that reason, flush will do that
>>>>>>> automatically. Unfortunately I do sometimes crave for a way to see
>>>>>>> which objects are in the session. Sometimes I would want to evict all
>>>>>>> objects of a certain type from the session cache. This if you have a
>>>>>>> longer running session and someone else has updated the DB values.
>>>>>>> There is no known way of evicting say all purchase info and then re-
>>>>>>> run a query to load the relevant ones. If you don't evict them then
>>>>>>> you get a strange mix of stale and current information as your query
>>>>>>> result (even when having the version number available!)
>>>>>>>
>>>>>>> On Aug 16, 3:33 pm, Jason Dentler <[email protected]> wrote:
>>>>>>> > Automatic dirty checking will take care of this when the session is
>>>>>>> flushed
>>>>>>> > (which normally happens when you commit a transaction)
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > On Mon, Aug 16, 2010 at 4:27 AM, Jacob Madsen <[email protected]>
>>>>>>> wrote:
>>>>>>> > > Hi all,
>>>>>>> >
>>>>>>> > > Is there a method to retrieve references to all entities known by
>>>>>>> a
>>>>>>> > > session
>>>>>>> >
>>>>>>> > > using (var session = sessionFactory.OpenSession())
>>>>>>> > > {
>>>>>>> > >    var entity = session.Get<SomeType>(someId); // "entity" is now
>>>>>>> > > known by the session
>>>>>>> > >    ....
>>>>>>> > >    var allKnownEntities = /* here I want to retrieve all entities
>>>>>>> > > known/attached to a session */
>>>>>>> > >    ....
>>>>>>> > > }
>>>>>>> >
>>>>>>> > > I want to implement a "void SaveChanges()" method that will
>>>>>>> Update all
>>>>>>> > > modified entities known by a session.
>>>>>>> >
>>>>>>> > > Cheers!
>>>>>>> >
>>>>>>> > > --
>>>>>>> > > 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]<nhusers%[email protected]>
>>>>>>> <nhusers%[email protected]<nhusers%[email protected]>
>>>>>>> ­>
>>>>>>> > > .
>>>>>>> > > For more options, visit this group at
>>>>>>> > >http://groups.google.com/group/nhusers?hl=en.- 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 [email protected].
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> [email protected]<nhusers%[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]<nhusers%[email protected]>
>>>>>> .
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/nhusers?hl=en.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> 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]<nhusers%[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]<nhusers%[email protected]>
>>>> .
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/nhusers?hl=en.
>>>>
>>>
>>>
>>>
>>> --
>>> 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]<nhusers%[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]<nhusers%[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.

Reply via email to