"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].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to